Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Asp.net MVC中保护连接字符串_C#_Asp.net Mvc_Security_Asp.net Mvc 4_Web Config - Fatal编程技术网

C# 在Asp.net MVC中保护连接字符串

C# 在Asp.net MVC中保护连接字符串,c#,asp.net-mvc,security,asp.net-mvc-4,web-config,C#,Asp.net Mvc,Security,Asp.net Mvc 4,Web Config,我的WebConfig文件中有一个Asp.net MVC应用程序和VS.Net2013。我的连接字符串部分如下: <connectionStrings> <add name="ConnectStrNL" connectionString="server=192.168.0.71\ins1;database=FNHProvider;MultipleActiveResultSets=true;persist security info=True;User ID=gene

我的WebConfig文件中有一个Asp.net MVC应用程序和VS.Net2013。我的连接字符串部分如下:

 <connectionStrings>
    <add name="ConnectStrNL" connectionString="server=192.168.0.71\ins1;database=FNHProvider;MultipleActiveResultSets=true;persist  security info=True;User ID=general;Password=123;" />
    <add name="connectionStringGeneral" connectionString="server=192.168.0.254;database=NFS;MultipleActiveResultSets=true;persist security info=True;User ID=General;Password=*******;" />
</connectionStrings>


我想对每个人隐藏数据库的用户和传递。此外,我也有不使用此方法的限制(aspnet_regiis.exe-site“EncryptDemo”-app“/”-pe“connectionStrings”)

如果您不希望密码出现在配置文件中,可以执行两项基本操作:

  • 使用Windows身份验证。除非有某些原因导致无法使用Windows身份验证并且您被迫使用SQL身份验证,否则这应该始终是您首选的方法

  • 加密连接字符串。由于您不能使用
    aspnet\u regiis\u exe
    ,如您在问题中所述,您可以从代码中加密该部分。以下代码应在应用程序启动时运行一次:

    using System.Web.Configuration;
    using System.Web.Security;
    using System.Configuration;
    
    public void EncryptConnString()
    {
        Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
        ConfigurationSection section = config.GetSection("connectionStrings");
        if (!section.SectionInformation.IsProtected)
        {
            section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
            config.Save();
        }
    }
    

  • 代码取自,您可以在那里找到更多信息。

    尝试此集成安全性=True,而不是此用户id=general;password=Abc123456“我还有一个问题请求。ApplicationPath不适用于我如果请求不在请求范围内,您可能应该使用
    “/”
    而不是
    请求。ApplicationPath有自动加密和