ЧТО Я ХОЧУ: приложение, работающее на сервере IIS SQL, работающее на SQLServer
И мой пользователь запускает сайт на своей машине и подключается к SQL, используя свои учетные данные.
ЧТО Я НАСТРОИЛ: У меня есть 3 машины, на одной из которых работает AD (ADMachine), на одной работает SQL Server (mySQLSERVER) и на одной работает IIS (MyIIS).
У меня есть сайт в IIS, работающий под сайтом по умолчанию, который переходит на http: // MySite / MyApp
У меня есть пул приложений с настраиваемым идентификатором MyDomain \ MyServiceUser
установили 2 SPN с помощью setspn -a HTTP / mySite MyDomain \ MyServiceUser setspn -a HTTP / mySite / MyApp MyDomain \ MyServiceUser
МОЯ ПРОБЛЕМА: Ошибка: не удалось войти в систему для пользователя NT AUTHORITY \ ANONYMOUS LOGON на странице, которая подключается к SQL
Я установил эту тестовую страницу на своем сайте и получаю метод проверки подлинности с согласованием (NTLM), а не с согласованием (Kerberos) http://blogs.msdn.com/b/friis/archive/2013/01/08/asp-net-authentication-test-page.aspx
Еще больше запутывает ситуацию то, что Kerberos правильно используется, когда скрипач открыт, и перестает использоваться, когда скрипач закрыт.
Проблема с дизайном Windows, это проблема согласования, вы можете использовать Kerberos только при аутентификации (и адаптировать к этому клиентов) или настроить IIS для обоих. Здесь опубликовано подробное руководство http://blogs.msdn.com/b/chiranth/archive/2014/04/17/setting-up-kerberos-authentication-for-a-website-in-iis.aspx