У меня есть приложение с классической архитектурой: UI <-> WCF <-> Бизнес уровень <-> Уровень данных <-> База данных.Для службы WCF я использую аутентификацию по имени пользователя и паролю.Эти имена пользователей пароли хранятся в базе данных приложения.Срок действия пароля настроен на регулярный срок действия (бизнес-требование).
У меня проблема с истечением срока действия пароля.Я выполнил операцию в моей службе WCF, которая отвечает за изменение пароля пользователя, но я не могу получить к нему доступ, когда срок действия пароля истек из-за сбоя аутентификации!
Как мне это сделать?Должен ли я создать специальную конечную точку со специальной аутентификацией для изменения пароля (например, допуск доступа, если пароль правильный, хотя срок его действия истек)?Это звучит как тяжелое решение для такой «маленькой» проблемы.
РЕДАКТИРОВАТЬ: возможно, я должен добавить еще немного контекста.Проверка выполняется в классе, реализующем UserNamePasswordValidator.В методе validate я проверяю, заблокирован ли пользователь, неверен ли пароль, был ли достигнут максимум попыток входа в систему (в этом случае я также блокирую пользователя) и истек ли срок действия пароля.Если один из них верен, аутентификация не пройдена.Может быть, это не самый лучший дизайн ...