我的webconfige文件中有一个带有VS.Net2013的Asp.net MVC应用程序,我有这样的连接字符串部分:
<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_regiis_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();
}
}
该代码取自该站点,您可以在此处找到更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句