У меня есть проект ASP.NET с использованием Identity. Для конфигурации идентификации в отношении паролей используется PasswordValidator
. Как расширить использование пароля, кроме того, что PasswordValidator
имеет в настоящее время (RequiredLength
, RequiredDigit
и т.д.), Чтобы удовлетворить требование, требующее истечения срока действия пароля после N дней?
Как установить срок действия пароля с помощью ASP.NET Identity Framework
Ответ 1
Нет такой функциональности, встроенной в ASP.NET Identity 2. Проще всего добавить поле пользователя, например LastPasswordChangedDate. Затем проверьте это поле во время каждой авторизации.
public class ApplicationOAuthProvider : OAuthAuthorizationServerProvider
{
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
var user = await GetUser(context.UserName, context.Password);
if(user.LastPasswordChangedDate.AddDays(20) < DateTime.Now)
// user needs to change password
}
}