【问题标题】:asp.net mvc 3 web.config connection string encryptionasp.net mvc 3 web.config 连接字符串加密
【发布时间】:2011-11-07 04:49:26
【问题描述】:
【问题讨论】:
标签:
asp.net-mvc-3
encryption
web-config
connection-string
【解决方案1】:
对特定的 web.config 文件使用加密/解密方法
似乎仍然是首选做法
Classic implementation programmatically
我认为加密 web.config 的做法并没有随着 MVC 更新,除了显然你不能使用事件按钮来调用上面示例中的方法。您想将 Encrypt/Decrypt 方法映射到控制器操作。
public ActionResult Encrypt()
{
ProtectSection("connectionStrings", "RSAProtectedConfigurationProvider");
return View();
}
private void ProtectSection(string sectionName,
string provider) {
Configuration config =
WebConfigurationManager.
OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section =
config.GetSection(sectionName);
if (section != null &&
!section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection(provider);
config.Save();
}}
【解决方案2】:
要加密 Web.Config 文件中的连接字符串,我们可以按照以下步骤操作。
- 以管理员身份打开 C:\Windows\System32\CMD.exe
-
在 CMD 中键入 CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319 在 CMD 中键入
aspnet_regiis.exe -pef connectionStrings “文件夹路径
包含 Web.Config 文件”
例如:aspnet_regiis.exe -pef “connectionStrings” “D://PROJECTS/SAMPLE_PROJECT”
将项目 web.config 的身份模拟设置为 false
<system.web>
<identity impersonate="true" />
</system.web>
解密,可以使用下面的命令。
给my article点赞