📜  如何在 JavaScript 中从 Web 配置中读取密钥 - C# (1)

📅  最后修改于: 2023-12-03 15:08:38.893000             🧑  作者: Mango

如何在 JavaScript 中从 Web 配置中读取密钥 - C#

在前后端分离的开发中,我们经常需要从 Web 配置中读取敏感信息,如数据库连接字符串、服务密钥等。在 C# 中,可以使用 ConfigurationManagerappSettings 节点轻松地实现这一功能。但是在 JavaScript 中,我们需要经过一定的操作才能轻松地实现这一需求。

步骤

以下是在 JavaScript 中从 Web 配置中读取密钥的步骤:

  1. Web.config(ASP.NET)或 appSettings.json(ASP.NET Core)中添加密钥

    <appSettings>
      <add key="MySecretKey" value="mysecretvalue" />
    </appSettings>
    
    {
      "AppSettings": {
        "MySecretKey": "mysecretvalue"
      }
    }
    
  2. 在 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.configappSettings.json 文件中的内容读取到了 C# 代码中,再进行输出。因为这个代码片段是在 .js 文件中,所以我们需要将其包含在 <script> 标签中,并且使用 <%= %> 来输出内容。

如果是使用第二种方式,操作步骤与前者相同。只不过要注意修改读取的文件和节点。在 ASP.NET 中,可以使用 Server.MapPath 方法获取项目路径,再合并路径读取文件。

总结

使用上述步骤,我们可以轻松地从 Web 配置中读取密钥,以便在 JavaScript 中使用。需要注意的是,在获取密钥时,我们需要使用 <%= %> 将其输出到 JavaScript 代码中。同时,为了安全起见,敏感信息最好使用加密方式存储,并控制好读取权限。