2015-03-13 55 views
12

我有一個使用身份的ASP.NET項目。有關密碼的身份配置,正在使用PasswordValidator。如何擴大密碼的執行範圍(PasswordValidator目前有RequiredLength,RequiredDigit等),以滿足在N天后要求密碼過期的要求?如何使用ASP.NET身份框架設置密碼過期

回答

13

內置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 

    } 
} 
+1

@ RickAnd-MSFT下面的答案在哪裏? – mcfea 2016-02-25 21:16:41

+0

@ RickAnd-MSFT錯過發佈的答案..... – 2016-04-12 17:44:36

+0

@EricFalsken他在一年前發佈了一個答案,但它似乎被刪除。上述解決方案是處理密碼擴展的最簡單和最好的方法。沒有這樣的內置功能。 – Rikard 2016-04-15 07:04:13

相關問題