WebAPI: Не работает kerberos аутентификация если виртуальная подпапка
От: Yuri Abele Германия yabele.blogspot.com
Дата: 15.06.19 21:07
Оценка:
Привет!

Помогите понять, а может даже и вылечить!

Есть WebAPI приложение.
Если оно в IIS смонтировано как самостоятельный сайт (http://MyDomain-API/), то всё в порядке.
Если же монтируем в IIS как виртуальную подпапку другого приложения (http://MyDomain/API), то перестает работать kerberos аутентификация.
Т.е. все запросы приходят уже в IIS НЕ аутентифицированным (убедился анализируя логи самого IISa — вместо имени пользователя в логах IISа стоит "-").

Настройки в обоих вариантах идентичные:
— разрешены анонимная и windows аутентификация.
— В windows: negotiate и NTLM провайдеры (порядок менял — не помогает)
— вызов анонимных методов отрабатывает, требующих аутентификации — нет
Если оставить только NTLM, то всё работает, но нам нужны оба.
Еще такой момент — если включены оба провайдера windows аутентификации, то в IE все работает (он использует NTLM по умолчанию), а в CHROME нет (он использует negotiate по умолчанию).

Есть сильные подозрения, что у клиента что-то на системном сетевом уровне перемудрено, но может и у нас — помогите разобраться, please!
Re: WebAPI: Не работает kerberos аутентификация если виртуальная подпапка
От: Yuri Abele Германия yabele.blogspot.com
Дата: 16.06.19 20:02
Оценка:
Ну хоть какую мысль подкиньте ...
Re[2]: WebAPI: Не работает kerberos аутентификация если виртуальная подпапка
От: RushDevion Россия  
Дата: 16.06.19 21:20
Оценка:
YA>Ну хоть какую мысль подкиньте ...

Ну если хоть какую-то...
Там где-то в настройках Windows аутентификации для сайта/папки выбираются провайдеры аутентификации (Negotiate, NTLM, etc).
Проверь, что их количество и порядок совпадают.
В трейсинге зафейленных запросов ничего полезного нет?
Re[2]: WebAPI: Не работает kerberos аутентификация если вирт
От: ksg71 Германия  
Дата: 16.06.19 22:16
Оценка:
Здравствуйте, Yuri Abele, Вы писали:

YA>Ну хоть какую мысль подкиньте ...


проверь еще account'ы пользователя под которым работает
ApplicationPool и машины на которой стоит IIS
там есть чекбоксы относительно kerberos delegation
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
Отредактировано 16.06.2019 22:16 ksg71 . Предыдущая версия .
Re[2]: WebAPI: Не работает kerberos аутентификация если вирт
От: VladCore  
Дата: 18.06.19 10:16
Оценка:
Здравствуйте, Yuri Abele, Вы писали:

YA>Ну хоть какую мысль подкиньте ...


Если на уровне сайта приложение работает, значит ПК,IIS и пул в доверенных.

Если не работает в подпапке, надо проверить что эта подпапка — приложение, а не подпапка которая берет настройки с уровня сайта.
Но настройки уровня сайта тоже надо проверять.

Непонятно как то я написал, но это ж IIS.
Отредактировано 18.06.2019 10:22 VladCore . Предыдущая версия .
Re[3]: WebAPI: Не работает kerberos аутентификация если вирт
От: Yuri Abele Германия yabele.blogspot.com
Дата: 18.06.19 14:25
Оценка:
Здравствуйте, ksg71, Вы писали:
K>проверь еще account'ы пользователя под которым работает
K>ApplicationPool и машины на которой стоит IIS
K>там есть чекбоксы относительно kerberos delegation
Я проверю, спасибо, но если эта же папка с тем же Application Pool как WebSite сконфигурирована, то всё работает.
Re[3]: WebAPI: Не работает kerberos аутентификация если виртуальная подпапка
От: Yuri Abele Германия yabele.blogspot.com
Дата: 18.06.19 14:28
Оценка:
Здравствуйте, RushDevion, Вы писали:

YA>>Ну хоть какую мысль подкиньте ...


RD>Ну если хоть какую-то...

RD>Там где-то в настройках Windows аутентификации для сайта/папки выбираются провайдеры аутентификации (Negotiate, NTLM, etc).
RD>Проверь, что их количество и порядок совпадают.
Я писал выше, что если взять IE (он использует по умолчанию NTLM) или оставить только NTLM, тогда всё работает и в Chrome.
Если же в списке есть Negotiate, то Chrome возьмет его и тогда не работает.

RD>В трейсинге зафейленных запросов ничего полезного нет?

Да вроде ничего такого, просто вместо имени пользователя "-" стоит
Re[3]: WebAPI: Не работает kerberos аутентификация если вирт
От: Yuri Abele Германия yabele.blogspot.com
Дата: 18.06.19 14:35
Оценка:
Здравствуйте, VladCore, Вы писали:

VC>Здравствуйте, Yuri Abele, Вы писали:


YA>>Ну хоть какую мысль подкиньте ...


VC>Если на уровне сайта приложение работает, значит ПК, IIS и пул в доверенных.


VC>Если не работает в подпапке, надо проверить что эта подпапка — приложение, а не подпапка которая берет настройки с уровня сайта.

Папка — приложение с тем же Application Pool, что и когда WebSite.

VC>Но настройки уровня сайта тоже надо проверять.

В "Родительском" сайте по всякому пробовал, в т.ч. и тот же APP-Pool, что и когда болезная папка в роли сайта

VC>Непонятно как то я написал, но это ж IIS.

Да не, всё понятно написал, спасибо!
Re: WebAPI: Не работает kerberos аутентификация если виртуальная подпапка
От: Yuri Abele Германия yabele.blogspot.com
Дата: 19.06.19 08:07
Оценка:
Решилось — системный админ пришел и что-то там подкрутил в окошке CMD.EXE на уровне impersonalisation для service principal.
Там еще URLы наших приложений мелькали, я не очень понял.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.