Dan*_*ard 5 application-pools kerberos iis-7.5 windows-authentication sql-server
我找到了各种谷歌结果,但似乎没有一个能解决我的问题。
我正在工作中设置一个新的 WINDOWS 2008 R2 框,它是通过我们内部网中在 IIS 7.5 中运行的 Web 工具与现有的 SQL 2012 框进行通信。我们要通过out-IE->Web Server->SQL来使用windows身份验证。我们正在使用 Kerberos。在 Web 服务器上本地查看该工具时,一切正常,但是一旦我尝试在远程客户端上查看它,我就会收到“用户‘NT AUTHORITY\ANONYMOUS LOGON’登录失败”的错误消息。
让我分解一下我们如何拥有网站 - 在经典模式下运行 .NET 2.0 的应用程序池,身份为 ApplicationPoolIdentity Windows 身份验证已启用,扩展保护设置为关闭,启用内核模式身份验证被选中,启用的提供程序是(按顺序)协商和 NTLM。ASP.NET 模拟已启用设置为模拟为经过身份验证的用户。
SQL 连接字符串采用以下格式:
Data Source=THESQLBOXNAME;Initial Catalog=DATABASENAME;Integrated Security=True
我有一个放置在 Web 服务器上的测试页(按照上述设置),它显示以下数据:
HttpContext.Current.User.Identity.IsAuthenticated 是真的
HttpContext.Current.User.Identity.Name 是预期用户(启动浏览器的用户)
System.Security.Principal.WindowsIdentity.GetCurrent.Name 是预期的用户
我尝试对 sql 框进行基本的 sql 查询并得到上面提到的登录错误。
我已检查 AD 并验证 Web 框是否已设置委托 - “仅信任此计算机以委托给指定的服务/仅使用 Kerberos”
我已经在运行 IIS 7.5(具有上述相同设置)的现有 WINDOWS 2008 R2 机器上运行了此测试页,但没有出现任何错误。
我检查了两个网络框的 SPN 设置,它们是相同的(机器名称除外):
setspn -L EXISTINGBOX
WSMAN/EXISTINGBOX.domain.com
WSMAN/EXISTINGBOX
TERMSRV/EXISTINGBOX.domain.com
TERMSRV/EXISTINGBOX
HOST/EXISTINGBOX.domain.com
HOST/EXISTINGBOX
RestrictedKrbHost/EXISTINGBOX.domain.com
RestrictedKrbHost/EXISTINGBOX
setspn -L NEWBOX
WSMAN/NEWBOX.domain.com
WSMAN/NEWBOX
TERMSRV/NEWBOX.domain.com
TERMSRV/NEWBOX
HOST/NEWBOX.domain.com
HOST/NEWBOX
RestrictedKrbHost/NEWBOX.domain.com
RestrictedKrbHost/NEWBOX
Run Code Online (Sandbox Code Playgroud)
我意识到它就像双跳问题,但它在另一个盒子上工作的事实让我认为它是新网络盒子的特定内容。我到底错过了什么????
小智 -1
检查非工作的 IIS 服务器是否设置了“信任计算机进行委派”: http://blogs.technet.com/b/taraj/archive/2009/01/29/checklist-for-double-hop-issues-iis -and-sql-server.aspx
| 归档时间: |
|
| 查看次数: |
5440 次 |
| 最近记录: |