Clickonce 应用部署,在 app.config 中隐藏密码

Posted

技术标签:

【中文标题】Clickonce 应用部署,在 app.config 中隐藏密码【英文标题】:Clickonce application deployment, hiding password in app.config 【发布时间】:2016-01-19 15:16:25 【问题描述】:

我有一个部署到客户端的应用程序。在配置文件中有一个连接到数据库的用户名/密码。此配置文件存储在他们计算机上的本地目录中。我不想让他们看到密码。我如何排除要安装在他们机器上的配置或者它必须在那里。如果是这样,我如何使用加密隐藏密码?谢谢

【问题讨论】:

你可以在sql server上使用windows身份验证,这样就不需要密码了吗? 我认为直接使用带有 sql server 的 windows 身份验证也不安全,因为最终用户可以简单地安装一个开源 sql explorer 来使用他的帐户访问整个数据库。 【参考方案1】:

例如,您可以加密 app.config 文件中的连接字符串。

MSDN documentation 中的加密部分示例:

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
        <CipherData>
            <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAH2...</CipherValue>
        </CipherData>
    </EncryptedData>
</connectionStrings>

【讨论】:

解决方案是通过安装错误。问题是如何在部署过程中调用 ClickOnce 中的自定义受保护配置提供程序?

以上是关于Clickonce 应用部署,在 app.config 中隐藏密码的主要内容,如果未能解决你的问题,请参考以下文章

C# Window编程随记——ClickOnce程序部署

Microsoft Clickonce 应用程序的代码签名证书消失

ClickOnce部署:自定义安全权限

Clickonce 未找到部署外部 dll 引用

powershell WPF ClickOnce应用程序的Octopus部署脚本示例。

部署 ClickOnce 时缺少 dll