2012-07-26 86 views
1

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

的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;"); 

我遇到了另一篇文章,并有网络管理员更改Active Directory中记录的IIS服务器说“信任这台计算机进行授权”。还是不行。

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

+0

看起来我可能有一个双跳问题(http://weblogs.asp.net/owscott/archive/2008/08/22/iis-windows-authentication-and-the-double-hop-issue的.aspx)。希望网络管理员在星期一回来时有想法。 – Curtis 2012-07-26 21:36:27

回答

1

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