У меня есть приложение ASP.NET Core 3.0, которое работает с локальной аутентификацией Windows в интрасети для идентификации вошедших в систему пользователей. Используя стандартные способы аутентификации Windows, я могу без проблем перехватить пользователя WindowsIdentity
.
Однако, в зависимости от того, как пользователь вошел в браузер с помощью автоматического входа в браузер интрасети (т. Е. Без пароля). или явный вход в систему с помощью диалогового окна «Пароль браузера», Я получаю разные результаты для групп пользователей .
Ниже приведен запрос API, который возвращает информацию о пользователе, включая членство в отфильтрованной группе. список (исключая встроенные учетные записи). Один слева - это ручной вход, другой справа - автоматический вход.
Для явного входа в систему я правильно вижу все пользовательские группы, в которые входит пользователь. Однако для автоматического входа в систему те же группы не отображаются:
Я также внимательно изучил экземпляры User и Identity всервер, и он ссылается на одни и те же идентификаторы безопасности для пользователя, поэтому кажется странным, что разные результаты возвращаются для членства в группе.
Любые идеи, почему список групп отличается, когда я получаю ту же учетную записьвернулся? Обратите внимание, что группы являются локальными, поэтому это не должно быть проблемой из-за доступа к домену.
Примечание: я тестирую локально даже на localhost, и чтобы проверить это, я установил здесь настройки Windows Proxy:
Когда флажки сняты, я вынужден войти в систему. Когда они включены (в любом случае в браузерах Chromium), я должен явно ввести свои учетные данные в диалоговое окно входа в браузер.