Как заставить ADAL проверить имя пользователя перед использованием кэшированных учетных данных для входа пользователя в приложение - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть приложение ASP.NET MVC, которое использует Azure Active Directory для проверки подлинности.Все работает отлично, за исключением этого сценария.

  1. Запустите приложение и войдите в систему с помощью user@domain.com, пользователь прошел аутентификацию и отобразится домашняя страница приложения
  2. Закрыть браузер (выход из системы не реализован)
  3. Запускприложение снова и нажмите «Войти» под именем другого пользователя
  4. Введите имя пользователя как abc@domain.com - Этот пользователь является поддельным и не существует

Ожидаемое поведение: из-за ошибки пользователь несуществует или не удалось войти в систему

Поведение приложения: по умолчанию регистрируется в user@domain.com без проверки введенного нового имени пользователя.

Примечание: portal.azure.com работает так же.

Вопрос: есть ли способ изменить это поведение, чтобы имя пользователя проверялось или проходило проверку подлинности перед использованием кэшированного токена.

спасибо

1 Ответ

0 голосов
/ 10 апреля 2019

Это сделано специально. Мы не обращаемся к AAD для проверки подлинности каждый раз, кэшированные учетные данные, используемые в качестве токенов / файлов cookie, полученных клиентом при первоначальном входе в систему, достаточно хороши, чтобы получить доступ к ресурсам.

Есть два способа достичь того, что вы ищете

1) Реализация выхода (возможное и оптимальное решение)

2) Внедрить фильтр Auth и применить его на глобальном уровне, чтобы при каждом запросе он проверял токен и имя пользователя, предоставленные пользователем.

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

...