如何在connectionString中隐藏数据库密码,替代aspnet_regiis.exe

时间:2014-08-22 07:21:03

标签: asp.net connection-string web-config

我有一个asp.net Web应用程序,其Web服务器位于客户端站点。我们有多个客户端站点和他们自己的Web服务器。客户端可以完全访问Web服务器,包括IIS。目前,数据库密码(在连接字符串中)存储在web.config中并且未加密。我知道,我知道,这是我工作史上最大和最令人尴尬的错误。

因此,现在我想隐藏至少密码,或者更好的是隐藏连接字符串。我已经用谷歌搜索了aspnet_regiis.exe。我相信aspnet_regiis.exe对我的情况来说不是最好的选择,因为客户端/用户可以完全访问IIS,因此,通过一些谷歌搜索,他们可以轻松地解密连接字符串。

虽然有一个以编程方式构建连接字符串的选项,但它需要对我当前的代码进行太多更改。我的大多数网页都使用依赖于连接字符串的数据源。如果我以编程方式构建连接字符串,我将需要动态初始化数据源。这很好,除非每次有回发时我都会丢失ViewState数据和用户输入。我可以手动保留用户输入,但我仍然无法100%模拟来自ViewState的数据,更不用说需要对当前代码进行大量更改。

因此,我正在寻找一种方法来隐藏密码或将connectionString移动到可以隐藏的地方。

请帮忙。谢谢。

顺便说一句,Windows身份验证不是一种选择。

0 个答案:

没有答案