对于使用forms身份验证的asp.net网站,我将使用Windows集成安全性来访问sql数据库。我将授予数据库对ASPNET或网络服务的权限。在什么情况下,我应该使用SQL身份验证?
发布于 2009-02-05 18:50:54
当您需要非Windows计算机来建立数据库连接时,请使用SQL Auth。
请记住,它添加了另一个攻击矢量(另一组用于危害机器的凭据),因此在使用它之前,请确保您确实需要它。
发布于 2009-02-05 18:52:08
当您的站点由外部ISP托管时,通常也需要SQL身份验证。它们通常不支持windows身份验证,或者不允许您向windows帐户授予权限。
发布于 2009-02-05 19:06:55
实际上,当您不能使用Windows身份验证时,您可以使用SQL身份验证。在我看来,这是唯一的一次。Windows身份验证更加安全,可以在使用Active Directory的地方集中管理。如果您有真正了解如何管理Active Directory的人员,并且您处于windows环境中,则没有充分的理由使用sql身份验证。
使用Sql身份验证,您必须管理连接字符串中的密码等,这意味着为了更改访问数据库的帐户,必须有人知道应用程序是如何工作的,或者至少知道信息存储在哪里。有了Windows身份验证,网络管理员所要做的就是在IIS应用程序设置中输入正确的用户名和密码,您就可以随心所欲了。不需要开发人员交互。
在保护连接字符串信息(如密码等)方面有额外的步骤,当存储在配置文件中时应该加密。与Windows身份验证相比,高效、安全地使用Sql Server身份验证涉及到更多的步骤。如果使用相同的sql服务器凭据来访问多个服务器上的多个数据库,则情况尤其如此。
https://stackoverflow.com/questions/517327
复制相似问题