Пожалуйста, кто-нибудь может ПОЖАЛУЙСТА дать простой и понятный способ включить ASP.NET> Kerberos> Sql Server?
У нас есть clientMachine> webServer> databaseServer. Клиент настаивает на том, что сайт должен получить Windows-вход в систему и не запрашивать, следовательно, необходима Kerberos и встроенная проверка подлинности. Он также ДОЛЖЕН выдавать себя за пользователя на сервере БД, вызывая двойной переход.
Наш домен является доменом Windows 2003, что, насколько я могу судить, означает, что Kerberos включен. И на компьютере, присоединенном к домену, при входе в систему kerbtray показывает мне, что у меня есть множество билетов, так что, очевидно, он работает.
Учетные записи компьютеров веб-сервера и сервера базы данных в AD являются «доверенными для делегирования».
Учетные записи пользователей AD, которые должны иметь доступ к системе, являются «доверенными для делегирования».
Когда все заработает, я добавлю больше пользователей, а пока это два.
Экземпляр Sql Server работает под LocalSystem на сервере базы данных, что, насколько я могу судить по сети, означает, что ему вообще не требуется связываться с этими именами SPN.
Тем не менее, когда я пытаюсь войти в систему с любым из пользователей, я получаю
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
указывает на сбой двойного прыжка. Этому способствует тот факт, что в журнале приложений на сервере базы данных есть множество записей из «MSSQL», говорящих об одном и том же.
Я действительно не могу поверить, насколько это сложно ... я имею в виду, что IIS, SQL и Windows - все это Microsoft, разве они не могут говорить лучше ???
Итак, в итоге, у меня есть
- домен Kerberos,
- БД и веб-сервер оба доверены для делегирования
- пользователей, которым доверено делегирование
- пользователей в группе AD
- Группа AD в качестве логина в sql (и пользователя в db)
- IIS с отключенным анонимным, встроенным, базовым и отключенным дайджестом
- IE с включенной поддержкой