我有一个在.net 3.5中开发的Web应用程序和一个SQL Server数据库。
当前的auth方法是web.config中的连接字符串,将身份验证详细信息移出纯文本似乎是一个好主意。
所以,我有两个问题:
可信连接 - 此处的密码策略是严格的,需要经常更改。这是否意味着我每次到期时都必须更新网站的密码?
还有其他/更好的选择吗?
答案 0 :(得分:2)
作为可信连接的替代方案,您可以查看有关如何加密web.config的this set of articles。
简而言之,如果从命令行调用
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"
来自默认站点的应用程序connectionStrings
的web.config中的部分SampleApplication
将使用RSA加密。
答案 1 :(得分:1)
我认为设置用户名/密码更好,因为我不希望运行我的IIS服务器的用户能够访问大量数据库。我更愿意将它集中在哪里,对于这个应用程序,有一个用户,该用户只能访问这个数据库。
您确实需要确定您的web.config文件是安全的,因此您确实需要安全性。
如果您想要更高的安全性,可以使用依赖注入框架,并注入具有用户名/密码的已编译类,并使用该连接字符串。如果你想要一些更安全的外表,这个类可能会被混淆。
答案 2 :(得分:0)
不,您不必继续更改可信连接详细信息。您不在那里存储密码,因此密码更改不会影响您。 (如果您使用的是基本身份验证,请让用户自己连接到SQL框)
但是 - 如果您的应用程序池作为特定用户运行,并且该用户的密码已更改,则您需要更新该密码。您可以考虑让用户的密码不会过期。
答案 3 :(得分:0)
可信连接不是一个选项?频繁更改的密码不应成为您决定的限制因素,因为您可以信任您无需输入密码。