对于从asp.net Web应用程序管理数据库访问的最佳实践感到好奇。我们当前正在将用户名和密码放在web.config中,但是内部安全性(显然)不够好,所以我决定使用Windows域用户而不是通过修改web.config来使用windows域,然后将用户添加到应用程序池标识。这一切都很好,但是当域用户的密码更改时会发生什么?这是否意味着在应用程序池中使用此用户身份的所有Web应用程序都需要更改密码?这将是一场IT噩梦。有没有人有关于允许webapp访问数据库而不暴露密码的最佳方法的建议,如果密码更改,无需更新所有webapps中的密码?感谢
答案 0 :(得分:1)
更好的解决方案是设置一个单独的应用程序池,该应用程序池设置了一个服务帐户,该服务帐户具有对数据库的完全访问权限,在选择新的应用程序池并使用集成安全性后重新启动Web应用程序。
使用非常强(且冗长)的密码并将帐户设置为密码不会过期,用户无法更改密码。
这可以防止在web.config文件中使用明文。
答案 1 :(得分:0)
我建议使用SQL混合模式身份验证并为您的应用程序使用SQL帐户。 web.config中的用户名和密码,并加密配置文件的该部分。
以下是有关配置加密的一些信息。
http://msdn.microsoft.com/en-us/library/zhhddkxy(v=vs.100).aspx