У меня есть приложение ASP.NET MVC, которое использует Azure Active Directory для аутентификации. Все работает отлично, кроме этого сценария.
Ожидаемое поведение: некоторая ошибка, говорящая о том, что пользователь не существует или не удалось войти в систему.
Поведение приложения: по умолчанию входит в систему [email protected] без проверки введенного нового имени пользователя.
Примечание. Portal.azure.com работает так же.
Вопрос. Есть ли способ изменить это поведение, чтобы имя пользователя проверялось или аутентифицировалось перед использованием кэшированного токена.
Спасибо
Это предусмотрено дизайном. Мы не обращаемся к AAD для проверки подлинности каждый раз, кэшированные учетные данные, используемые в качестве токенов/файлов cookie, которые клиент получил во время первоначального входа в систему, достаточно хороши для получения доступа к ресурсам.
Есть два способа достичь того, что вы ищете
1) Реализовать выход (осуществимое и оптимальное решение)
2) Внедрите фильтр аутентификации и примените его на глобальном уровне, поэтому для каждого запроса он должен проверять токен и имя пользователя, предоставленные пользователем.
Надеюсь, поможет.