【问题标题】:Hard coded values to web.config file硬编码值到 web.config 文件
【发布时间】:2012-06-01 08:14:18
【问题描述】:

我已经有一个带有硬编码值的 phpcode,

$username = "abcd";
$password = "abcd123";

现在我想将这些值放到 web.config 文件中。这是我的工作,但这里出了点问题。

<appSettings>
<add key="username" username="abcd"/>
<add key="password" password="abcd123"/>
<appSettings/>

所以..有什么问题吗?而且我还想知道如何将这些设置带到 aspx.cs 文件中。我的意思是 [configurationmanager] 的东西

【问题讨论】:

    标签: c# asp.net .net c#-4.0 web-config


    【解决方案1】:

    您需要使用 key 和 value 属性来声明它们,如下所示:

    <appSettings>
       <add key="username" value="abcd"/>
       <add key="password" value="abcd123"/>
    <appSettings/>
    

    如果您需要基础知识,可以通过以下方式访问密钥:

    string username = System.Configuration.ConfigurationManager.AppSettings["username"].ToString();
    string password = System.Configuration.ConfigurationManager.AppSettings["password"].ToString();
    

    为了访问我的网络配置键,我总是在我的应用程序中创建一个静态类。这意味着我可以在任何需要的地方访问它们,并且我没有在我的应用程序中使用字符串(如果它在 web 配置中发生更改,我必须经历所有更改它们的事件)。这是一个示例:

    using System.Configuration;
    
    public static class AppSettingsGet
    {    
        public static string Username
        {
            get { return ConfigurationManager.AppSettings["username"].ToString(); }
        }
    
        public static string Password
        {
            get { return ConfigurationManager.AppSettings["password"].ToString(); }
        }
    }
    

    【讨论】:

      【解决方案2】:

      试试WebConfigurationManager

      WebConfigurationManager.AppSettings["username"];
      

      【讨论】:

      • 在 aspx.cs 文件中做同样的事情吗? WebConfigurationManager 中没有括号吗?例如 [WebConfigurationManager].AppSetting["username"] ?
      【解决方案3】:

      将值硬编码到 web.config 文件是不安全的。对于密码存储哈希值而不是原始字符串。也尝试使用 DPAPI。

      【讨论】:

        【解决方案4】:

        当那些事情完成后.. 之后需要做以下事情吗?在这里我创建了一个实例。或者如何在我的页面中访问/调用 web.config 的连接字符串。

         internal static ConnectionFactory newinstance()
            {
                try
                {
                    return new   ConnectionFactory(ConfigurationManager.ConnectionStrings["myConString"].ConnectionString);
                }
                catch (Exception)
                {
                    throw;
                }
        

        【讨论】:

          猜你喜欢
          • 2018-10-25
          • 1970-01-01
          • 1970-01-01
          • 2013-08-08
          • 1970-01-01
          • 1970-01-01
          • 2023-03-04
          • 2015-06-21
          • 1970-01-01
          相关资源
          最近更新 更多