【问题标题】:ASPNET_REGIIS Encryption on shared hosting共享主机上的 ASPNET_REGIIS 加密
【发布时间】:2017-07-19 02:29:46
【问题描述】:

我已成功使用 ASPNET_REGIIS 加密 web.config 中的 connectionString 部分。 但是我已经在我的本地机器上完成了。

当我尝试在共享托管服务器上发布网站时,我收到了配置文件错误。

有什么方法可以在共享托管服务器上使用 ASPNET_REGIIS 进行加密,而无需访问物理服务器机器?

谢谢。

【问题讨论】:

  • 在大多数情况下,您无法自行完成此操作,而是依赖服务提供商。给他们打电话。
  • 他们建议我升级到虚拟服务器。甚至可以在虚拟服务器上安装 Visual Studio 吗?

标签: asp.net web-config connection-string aspnet-regiis.exe


【解决方案1】:

我找到了一个解决方案,可能不是最好的,但我觉得还可以..

我使用第一个函数加密了 web.Config 一次。 我在每次通话时解密它。

    public static void EncryptConnString()
{
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
    ConfigurationSection section = config.GetSection("connectionStrings");

    if (!section.SectionInformation.IsProtected)
    {
        section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
        config.Save();
    }
}

public static MySqlConnection DecryptConnString()
{
    MySqlConnection conn = new MySqlConnection();
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
    ConfigurationSection section = config.GetSection("connectionStrings");
    if (section.SectionInformation.IsProtected)
    {
        section.SectionInformation.UnprotectSection();
        conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["DatabaseName"].ConnectionString);
        return conn;
    }
    else
        return null;
}

(使用 MySql)

【讨论】:

    猜你喜欢
    • 2010-11-23
    • 2011-03-27
    • 2011-04-20
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2012-06-02
    相关资源
    最近更新 更多