Пропустить AD-пользователя от клиента до IIS-сервера на DB-Server

76
4

Возможно ли каким-либо образом передать AD-User от клиента в IIS -Server, а затем использовать этого AD-User для входа в SQL-Server? Так что мне нужно выглядеть так:

--client--               ---IIS---              -------SQL-Server-------
|AD-User | --AD-User--> |WebPage| --AD-User--> |Logged on with AD-User|
---------- --------- ------------------------

Это работает только в том случае, если SQL-Server находится на том же сервере, что и IIS:

--client--               -------Server-------
|AD-User | --AD-User--> |IIS withWebPage |
---------- |SQL-Server with DB|
--------------------

Но это не работает, если IIS и SQL-Server находятся на двух разных машинах.

Кто-нибудь знает, как передать AD-User от клиента в IIS на SQL-Server на двух разных машинах? Какие настройки мне нужно сделать?

спросил(а) 2021-01-19T14:25:45+03:00 5 месяцев назад
1
Решение
89

к сожалению, это не работает с использованием аутентификации NTLM. Проблема в том, что ваш пользователь не может быть аутентифицирован на следующий хоп, не зная вашего пароля. Это не известно серверу IIS, поскольку для аутентификации от клиента к IIS используются только хэши на основе пароля. Вы можете найти дополнительную информацию, выполнив поиск "Double Hop Authentication".

Вот статья, описывающая эту проблему: http://blogs.msdn.com/b/besidethepoint/archive/2010/05/09/double-hop-authentication-why-ntlm-fails-and-kerberos-works.aspx

Некоторое время назад у меня была такая же проблема, и я решил использовать учетную запись службы, используя SQL-аутентификацию для доступа к БД. Kerberos не был вариантом, поскольку он не реализован на инфраструктуре клиентов.

Надеюсь, это поможет...

ответил(а) 2021-01-19T14:25:45+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема