无法让客户端通过 Kerberos 使用 IIS 进行身份验证

无法让客户端通过 Kerberos 使用 IIS 进行身份验证

我想要的是:一个在 IIS 服务器上运行的应用程序,一个在 SQLServer 上运行的 SQL

我的用户在他们的机器上运行该网站并使用他们的凭据连接到 SQL。

我的设置内容:我有 3 台机器,一台运行 AD(ADMachine),一台运行 SQL Server(mySQLSERVER),一台运行 IIS(MyIIS)。

我在 IIS 上有一个网站,在默认网站下运行,该网站导航到http://我的网站/我的应用

我有一个应用程序池,其自定义标识为 MyDomain\MyServiceUser

已使用 setspn -a HTTP/mySite MyDomain\MyServiceUser 设置了 2 个 SPN setspn -a HTTP/mySite/MyApp MyDomain\MyServiceUser

我的问题:错误:在连接到 SQL 的页面上,用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败

我已经在我的网站上设置了此测试页,并且获取了协商(NTLM)而不是协商(Kerberos)的身份验证方法 http://blogs.msdn.com/b/friis/archive/2013/01/08/asp-net-authentication-test-page.aspx

更令人困惑的是,当 Fiddler 打开时,Kerberos 可以正确使用,而当 Fiddler 关闭时,Kerberos 则停止使用。

答案1

Windows 设计问题,这是一个协商问题,您可以仅在身份验证中使用 Kerberos(并使客户端适应该身份验证)或为两者配置 IIS。此处已发布了一份详尽的指南http://blogs.msdn.com/b/chiranth/archive/2014/04/17/setting-up-kerberos-authentication-for-a-website-in-iis.aspx

相关内容