我想要的是:一个在 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