C# 在Asp.net MVC中保护连接字符串
我的WebConfig文件中有一个Asp.net MVC应用程序和VS.Net2013。我的连接字符串部分如下: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
<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”)如果您不希望密码出现在配置文件中,可以执行两项基本操作:
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有自动加密和