У мене є програма ASP.NET Core 3.0, яка працює з локальною аутентифікацією Інтранет Windows для виявлення зареєстрованих користувачів. Використовуючи стандартну поведінку Windows Authentication, я можу захопити користувача WindowsIdentity
без проблем.
Однак, залежно від того, як користувач увійшов у браузер за допомогою автоматичного входу в браузер Інтранет (тобто немає діалогового вікна паролів) або явного входу через діалогове вікно пароля браузера, я отримую різні результати для груп користувачів .
Далі йде запит API, який повторює інформацію про користувачів, включаючи відфільтрований список членства в групі (що виключає вбудовані акаунти). Ліворуч - це ручний вхід, а праворуч - автоматичний вхід.
Для явного входу я правильно бачу всі спеціальні групи, до яких користувач входить. Однак для автоматичного входу ті самі групи не відображаються:
Я також уважно ознайомився з примірниками користувача та ідентичності на сервері, і він посилається на ці ж самі SID для користувача, тому здається дивним, що для членства в групі повертаються різні результати.
Будь-які ідеї, чому список груп відрізняється, коли я отримую той самий обліковий запис? Зверніть увагу, що групи локальні, тому це не повинно бути проблемою через доступ до домену.
Примітка. Я навіть тестую локально локальний хост, і щоб перевірити це, я встановив тут налаштування Windows Proxy:
Якщо вимкнені прапорці, я змушений увійти. Якщо увімкнено (у браузерах Chromium так чи інакше), я повинен явно ввести свої облікові дані у діалоговому вікні входу в браузер.