【问题标题】:Encrypt and Save the ASP.NET ConnectionString within the web.config using Medium Trust?使用中等信任加密和保存 web.config 中的 ASP.NET ConnectionString?
【发布时间】:2009-08-31 16:15:00
【问题描述】:

我在 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 文件?

【问题讨论】:

  • 您是否使用 aspnet_regiis 加密 web.config?
  • 由于我的托管服务提供商的中等信任要求,我最终没有解决这个问题。

标签: asp.net web-config medium-trust


【解决方案1】:

如果您的提供商允许,您可以按照How To: Use Medium Trust in ASP.NET 2.0 中的说明设置自定义策略文件。但他们不太可能让你这么做。

您也可以尝试使用XDocument / XmlDocumentXPath 来获取/设置配置值,尽管您仍然需要使用以中等信任度运行的库来处理加密/解密。 (Modify configuration section programmatically in medium trust

如果可能,您也可以尝试使用单独的进程在其他位置修改文件,然后允许通过外部方式(如 FTP 或 IIS7 的 Web 部署功能)将修改后的文件上传到服务器。

【讨论】:

    猜你喜欢
    • 2013-10-15
    • 2012-01-12
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多