我在 Google 和 Stackoverflow 上进行了搜索,但找不到解决方案来编辑 web.config 以加密和存储安装脚本的 SQL Server 连接字符串。
Accessing the web.config in Medium trust 中的链接 似乎表明以下代码可以代替 OpenWebConfiguration 工作,但是这在本地开发服务器(运行 Medium Trust)或 Rackspace Cloud(以前称为 Mosso)上不起作用。
String cfgpath = Server.MapPath(@"/web.config");
cfg = System.Configuration.ConfigurationManager.OpenExeConfiguration(cfgpath);
可以将 Rackspoace Cloud 设置为使用模拟保存文件,但是在捕获 ConfigurationErrorsException 时,我仍然收到“加载配置文件时发生错误:请求'System.Security.Permissions.FileIOPermission”类型的权限错误。
有什么想法可以在安装脚本期间编辑 web.config 以加密和存储 SQL Server 连接字符串?
更新 #1 似乎 DpapiProtectedConfigurationProvider 和 RsaProtectedConfigurationProvider 都需要 FullTrust。使用 MediumTrust 时,是否有任何其他解决方案可以进一步保护 Web.config 文件?