拜托,有人可以提供一种简单直接的方法来启用 ASP.NET > Kerberos > Sql Server 吗?
我们有clientMachine > webServer > databaseServer。客户坚持网站必须拉取 Windows 登录而不提示,因此需要 Kerberos 和集成身份验证。它还必须将用户模拟到数据库服务器上,从而引发双跳。
我们的域是一个 Windows 2003 域,据我所知,这意味着 Kerberos 已启用。在加入域的计算机上,登录时,kerbtray 向我显示我有大量票证,因此它显然可以正常工作。
AD 中的 Web 和数据库服务器计算机帐户都是“受信任的委派”。
必须访问系统的 AD 用户帐户都是“受信任的委派”。
当一切正常时,我会添加更多用户,现在是两个。
Sql Server 实例在数据库服务器上的 LocalSystem 下运行,据我所知,这意味着它根本不需要弄乱那些 SPN 的东西。
然而,当我尝试使用任一用户登录时,我得到
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
表示双跳失败。进一步的事实是,在 db 服务器上的应用程序日志中有大量来自“MSSQL”的条目说同样的事情。
我真的不敢相信这有多难……我的意思是,IIS、SQL 和 Windows 都是微软,他们不能说得更好吗???
总而言之,我有
- kerberos 域,
- db 和 web 服务器都受信任的委派
- 受信任委托的用户
- AD 组中的用户
- AD 组作为 sql 中的登录名(和 db 中的用户)
- IIS 关闭匿名、集成打开、基本和摘要关闭
- 启用集成的 IE