【发布时间】:2015-02-13 11:01:02
【问题描述】:
背景:
IIS 在一台服务器上 (7)
SQL 在另一台服务器上
Active Directory 位于另一台服务器上(这可能会或可能不会有所不同,但从我读过的内容来看可能)
我们有一个全新的 MVC 站点,它使用 AD 权限授予对站点的访问权限,然后在 SQL 中运行 SP
站点访问工作正常,但我收到错误用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败,我认为这意味着我已经陷入双跳问题。
在 IIS 中,我有一个 V4.0 集成的应用程序池和应用程序池标识
在我的应用程序中,我设置了 ASP.net Impersonation Enabled 和 Windows Authentication Enabled,其他所有设置都已禁用
在 SQL Server 和 IIS 服务器的委派设置中,我设置了“信任此计算机以委派任何服务(仅限 Kerberos)”
如果我在 SQL 中运行以下语句
选择 auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;
我得到了 KERBEROS。
我错过了什么?还是做错了?谢谢
【问题讨论】:
-
IIS 服务器需要“信任此计算机进行委派”。您是否确认 IIS 正在获取正确的凭据(即匿名身份验证已关闭)?有许多在线身份验证帮助页面,例如ASP.NET Authentication test page,可能会有所帮助。
-
平心而论Rhys,我在开发方面经验丰富,我过去工作过的所有公司都有专门的服务器团队,所以不确定,我看看链接,谢谢看看我还能找到什么,我已经阅读了成堆的页面并相信一切都设置正确,但显然我在 SQL 服务器上打开委派并不是为了安全起见,而是有计划一切正常后将其关闭。
-
我也一样,我的背景是开发,网络非常次要。过去我一直设法让我的设置正常工作(虽然不使用 SPN),但有时需要比其他人更长的时间才能找到最后一个神奇的设置以使其全部正常工作:) Google for DelegConfig 这是我的另一个工具过去用过。祝你好运!
-
Rhys 在本地我的用户 AuthType 是 Kerberous,但是在 IIS 服务器上,当我显示 WindowsIdentity.GetCurrent().AuthenticationType 时它会出现 NTLM
-
哪个版本的 IIS?
标签: asp.net sql-server iis kerberos