我有两台服务器,假设它们是APPSVR(ASP.NET)和DBSVR(SQL Server)。当前,应用程序通过使用带有User Id
和Password
的SQL Server身份验证,可以与数据库连接顺利运行。
将来,必须使用Windows身份验证Integrated Security=True
进行更改。我试图更改此设置,但无法正常工作(数据库连接失败)。
我们也有域控制器,并且两个服务器都在同一个域中。我不确定在我们的环境(域/ SQL Server / IIS管理器)中必须配置哪个。正确的程序是什么?
答案 0 :(得分:0)
您的asp.net应用程序是否已经通过域用户身份验证运行?
是否需要按用户登录SQL Server,因为您设置了 对域用户的访问权限,而不是创建自己的访问权限 您的asp.net应用程序上的系统?
为什么我要问你这个?因为您需要考虑Web应用程序和桌面应用程序之间的差异。在Web应用程序中,Web服务器联系sql服务器而不是用户pc。
因此,如果您希望Web服务器使用Windows身份验证登录到sql服务器,则会使设置复杂化,那么您需要将Web服务器设置为以某种方式伪装为域用户。如果用户正在从Internet访问Web应用程序,则还需要考虑这种情况。
我建议对本地用户(而不是域用户)使用仅强应用程序密码进行sql服务器连接。对于访问权限,您只需创建一个新表即可存储域用户登录ID及其访问权限。此设置仍然允许使用“用户”域登录Web应用程序,但不允许数据库连接。优点是,您可以将仅需要维护几个用户甚至一个用户应用程序的访问权限减至最少,而只有需要在sql服务器中维护的用户,而不是每个域,如果您使用Windows身份验证,则需要在sql服务器上注册。
如果仍然需要设置Windows身份验证,则可以看到the info here。
答案 1 :(得分:0)
我们最近不得不改用Windows Auth而不是SQL帐户来从我们的ASP站点访问数据库。诀窍是让应用程序池使用您用于访问SQL Server的域帐户启动,然后您只需更改连接字符串即可使用Integrated Security。