📅  最后修改于: 2023-12-03 15:08:38.893000             🧑  作者: Mango
在前后端分离的开发中,我们经常需要从 Web 配置中读取敏感信息,如数据库连接字符串、服务密钥等。在 C# 中,可以使用 ConfigurationManager
和 appSettings
节点轻松地实现这一功能。但是在 JavaScript 中,我们需要经过一定的操作才能轻松地实现这一需求。
以下是在 JavaScript 中从 Web 配置中读取密钥的步骤:
在 Web.config
(ASP.NET)或 appSettings.json
(ASP.NET Core)中添加密钥
<appSettings>
<add key="MySecretKey" value="mysecretvalue" />
</appSettings>
{
"AppSettings": {
"MySecretKey": "mysecretvalue"
}
}
在 JavaScript 文件中添加以下代码
function GetSecretKey() {
var myKey = '<%= ConfigurationManager.AppSettings["MySecretKey"] %>';
return myKey;
}
或者
var appsettings = JSON.parse('@Html.Raw(File.ReadAllText(HttpContext.Current.Server.MapPath("~/appSettings.json")))');
var myKey = appsettings.AppSettings.MySecretKey;
这里的 ConfigurationManager.AppSettings["MySecretKey"]
实际上是将 Web.config
或 appSettings.json
文件中的内容读取到了 C# 代码中,再进行输出。因为这个代码片段是在 .js
文件中,所以我们需要将其包含在 <script>
标签中,并且使用 <%= %>
来输出内容。
如果是使用第二种方式,操作步骤与前者相同。只不过要注意修改读取的文件和节点。在 ASP.NET 中,可以使用 Server.MapPath
方法获取项目路径,再合并路径读取文件。
使用上述步骤,我们可以轻松地从 Web 配置中读取密钥,以便在 JavaScript 中使用。需要注意的是,在获取密钥时,我们需要使用 <%= %>
将其输出到 JavaScript 代码中。同时,为了安全起见,敏感信息最好使用加密方式存储,并控制好读取权限。