Как я могу заставить Chrome делегировать учетные данные, не открывая сначала приложения asp.net в IE?

Я получаю следующую ошибку в браузере Chrome (если я сначала НЕ открывал приложение в IE):: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON' и в зависимости от кода, используемого для получения имени пользователя, я могу получить эту ошибку: System.DirectoryServices.DirectoryServicesCOMException: An operations error occurred

Я сузил проблему до того, что Chrome достигает уровня олицетворения «Impersonation», тогда как IE доходит до уровня олицетворения «Delegation». Я написал простое приложение с # .net 4.5.2 под названием (VS 2017) browsercheck, которое запрашивает SQL Server 2008 на одном сервере (SERVER2), в то время как веб-приложение установлено на другом сервере (SERVER1), чтобы отразить нашу производственную установку.

В IIS 7 включены Windows Authentication и Impersonation, AppPool - v4.0 Classic с идентификатором = NetworkService, однако при устранении неполадок я изменил идентификатор на LocalSystem и ApplicationPoolIdentity без изменений. Я установил для Load User Profile значение true. Я также подтвердил в своем NA, что AD по умолчанию назначил делегирование для SERVER1 и SERVER2, чтобы доверять этому компьютеру для делегирования любой службе (только Kerberos).

Я посетил сообщение Грэма Кларка здесь, который очень похож на мой, за исключением того, что его пул приложений IIS имеет интегрированный режим конвейера, а мой - классический. Его решение заключалось в том, чтобы установить для поставщика проверки подлинности Windows значение «Согласовать: Kerberos, а не NTLM», который я не вижу, где это установить в IIS7 ??? IIS устанавливает это по умолчанию, не так ли?

Я понимаю, в чем проблема двойного прыжка, но мне кажется, что это не может быть проблемой, потому что приложения работают нормально при просмотре в браузере IE 11. Некоторые приложения также работают в Chrome после того, как я сначала аутентифицировал их в IE11.

Проблема в том, что мне нужно, чтобы Chrome сначала аутентифицировал их (или любой другой браузер) без необходимости сначала открывать их в IE, поскольку мы скоро откажемся от IE.

Журнал IIS

#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2019-05-14 15:58:17
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2019-05-14 15:58:17 10.100.10.00 GET /browsercheck - 80 - 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 401 2 5 72
2019-05-14 15:58:17 10.100.10.00 GET /browsercheck - 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 301 0 0 3
2019-05-14 15:58:20 10.100.10.00 GET /browsercheck/ - 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 200 0 0 2349
2019-05-14 15:58:20 10.100.10.0 GET /BrowserCheck/bundles/MsAjaxJs v=VA_FXLaB5PurewZl92JsrSUQcDrqhwBct539oVLEeiY1 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 404 0 2 2
2019-05-14 15:58:20 10.100.10.00 GET /BrowserCheck/bundles/WebFormsJs v=N8tymL9KraMLGAMFuPycfH3pXe6uUlRXdhtYv8A_jUU1 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 404 0 2 2
2019-05-14 15:58:22 10.100.10.00 POST /browsercheck/ - 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 200 0 0 108
2019-05-14 15:58:22 10.100.10.0 GET /BrowserCheck/bundles/MsAjaxJs v=VA_FXLaB5PurewZl92JsrSUQcDrqhwBct539oVLEeiY1 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 404 0 2 2
2019-05-14 15:58:22 10.100.10.00 GET /BrowserCheck/bundles/WebFormsJs v=N8tymL9KraMLGAMFuPycfH3pXe6uUlRXdhtYv8A_jUU1 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 404 0 2 2
2019-05-14 15:58:37 10.100.10.00 GET /browsercheck/ - 80 - 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/74.0.3729.131+Safari/537.36 401 2 5 0
2019-05-14 15:58:37 10.100.10.00 GET /browsercheck/ - 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/74.0.3729.131+Safari/537.36 500 0 0 76
2019-05-14 15:58:37 10.100.10.00 GET /favicon.ico - 80 - 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/74.0.3729.131+Safari/537.36 401 2 5 98
2019-05-14 15:58:37 10.100.10.00 GET /favicon.ico - 80 ABC\user1 00.000.00.00 Mozilla/5.0+(Windows+NT+6.1;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/74.0.3729.131+Safari/537.36 404 0 2 3

person Doreen    schedule 14.05.2019    source источник
comment
Я сомневаюсь, что кто-нибудь ответит на этот пост, но я обнаружил, что в IE11 уровень олицетворения пользователя - это делегирование, а уровень олицетворения - олицетворение в chrome. Все остальные значения идентификатора Windows такие же (тот же пользователь).   -  person Doreen    schedule 15.05.2019
comment
Поговорите с администраторами своего домена, чтобы они помогли вам проанализировать настройки, связанные с Kerberos. IE / Edge может безупречно работать с делегированием Kerberos, но не уверен, поддерживает ли Chrome то же самое.   -  person Lex Li    schedule 15.05.2019