尝试使用集成安全性设置IIS7以进行远程sql server访问

时间:2012-07-26 20:29:48

标签: sql-server security iis-7 integrated

我有一个Intranet站点我正在尝试设置使用Windows身份验证并模拟用户到远程SQL服务器。我在过去设置了这些,但Web服务器和SQL服务器一直在同一个盒子上。我已经搜索了谷歌尝试不同的设置,但我得到一个密码提示或登录失败的用户'NT AUTHORITY \ ANONYMOUS LOGON'(用户的身份在网站上是正确的,但它没有通过SQL进行身份验证,因为它认为这是匿名的)。以下是我的设置,因此非常感谢任何见解。

的Web.Config

<authentication mode="Windows" />
<authorization>
    <allow users="*" />
</authorization>
<identity impersonate="true" />

IIS7

Anonymouse Authentication - Disabled
ASP.NET Impersonation - Enabled
Basic Authentication - Disabled
Forms Authentication - Disabled
Windows Authentication - Enabled
- Advanced Settings: Extended Protection=Off and Enable Kernal-mode authentication=Checked
- Providers: Negotiate and NTLM (I came across a blog to use Negotiate:Kerberos but that didn't work)

连接字符串

SqlConnection m_oConnection = new SqlConnection("Data Source=" + ConfigurationServer + ";Failover Partner=" + ConfigurationServerFailover + ";Initial Catalog=Master;Trusted_Connection=Yes;persist security info=False;");

我遇到了另一篇文章,让网络管理员更改IIS服务器的Active Directory记录,说“信任此计算机以进行委派”。还是不行。

有没有办法让我使用Windows身份验证将ASP.NET应用程序中的安全性集成到没有密码提示的远程SQL服务器?

1 个答案:

答案 0 :(得分:1)

我们的网络管理员最终搞清楚这一点。他必须向SQL服务器注册一个SPN(服务主体名称)。对此不太了解,但集成安全性现在可行。它只适用于IE浏览器,而不适用于Chrome,Firefox或Safari,但我很满足于时间,并会看到其他非Microsoft浏览器是否可以实现集成安全性。我讨厌网络! :)