我需要将访问设置保存到我的asp.net应用程序内的不同网页。这些设置是这些页面的登录名和密码。它是否足够安全,可以将它们保存在web.config中?
答案 0 :(得分:0)
是的,您可以在web.config中保存登录信息和密码,并且可以通过加密来保护这些部分。我不知道这是否是最适合这样做的地方,但鉴于你的描述,我认为这是你案件的最佳解决方案。
以下是实施加密的有效方法:What is the proper method for encrypting ASP.NET connetionStrings?
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();
}
}
private void UnProtectSection(string sectionName)
{
Configuration config =
WebConfigurationManager.
OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section =
config.GetSection(sectionName);
if (section != null &&
section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
config.Save();
}
}
因此,要保护设置,只需使用您要保护的部分和您选择的保护提供程序(通常为DataProtectionConfigurationProvider
或RSAProtectedConfigurationProvider
)调用ProtectSection方法:
ProtectSection("appSettings", "DataProtectionConfigurationProvider");
要取消保护您使用要取消保护的部分调用UnProtectSection方法的部分:
UnProtectSection("appSettings");