在 Active Directory 中未找到计算机“testsystem”的服务主体名称 (SPN)

在 Active Directory 中未找到计算机“testsystem”的服务主体名称 (SPN)

我们正在使用虚拟 PC 进行一些测试模型。一个 VPC 作为域控制器运行,并在其上配置了 AD。域名为 testing.local。我们在域中还有另一个 VPC,它运行 Web 应用程序(配置为在端口 198 上监听的网站),使用集成 Windows 身份验证和基本身份验证(发送登录 ID/密码)。现在的问题是,在 AD 中创建的一些用户可以访问此应用程序(http://测试系统:198/),有些则不行。即使输入了正确的登录 ID/密码组合,IIS 仍会给出 401.2 错误。

我尝试搜索网络,结果被引导至 AuthDiag 工具。我安装了它并运行Active Directory(Kerberos 密钥分发中心)信息。它多次显示以下错误(此 VPC 中运行着许多网站):

在 Active Directory 中未找到计算机“testsystem”的服务主体名称 (SPN)

请帮忙,我们陷入困境,无法测试应用程序。

答案1

Kerberos 身份验证存在一些问题,可能与您运行网站所使用的帐户有关 - 请看一下:

http://blogs.technet.com/askds/archive/2008/06/11/kerberos-authentication-problems-service-principal-name-spn-issues-part-3.aspx

如果这不是确切的问题,那么那里列出的调试步骤应该允许您向问题添加更多细节,这应该有助于人们得出正确的答案。

答案2

如果你不使用任何委派,将 IIS 设置为使用 NTLM只是为了消除 kerberos。

对于默认网站,使用

cscript adsutil.vbs set w3svc/1/root/NTAuthenticationProviders "NTLM"

相关内容