2015-03-13 42 views
12

Tôi có một dự án ASP.NET sử dụng Identity. Đối với Cấu hình danh tính liên quan đến mật khẩu, PasswordValidator đang được sử dụng. Làm cách nào để mở rộng việc thực thi mật khẩu ngoài những gì PasswordValidator hiện có (RequiredLength, RequiredDigit, v.v.) để đáp ứng yêu cầu yêu cầu hết hạn mật khẩu sau N ngày?Cách thiết lập hết hạn mật khẩu bằng ASP.NET Identity Framework

Trả lời

13

Không có chức năng như vậy được xây dựng trong ASP.NET Identity 2. Dễ nhất là thêm một trường vào người dùng như LastPasswordChangedDate. Và sau đó kiểm tra trường này trong mỗi ủy quyền.

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 câu trả lời ở đâu? – mcfea

+0

@ RickAnd-MSFT đã bỏ lỡ đăng câu trả lời ..... –

+0

@EricFalsken Ông đã đăng câu trả lời một năm trước nhưng dường như đã bị xóa. Các giải pháp trên là cách dễ nhất và tốt nhất để xử lý mật khẩu exipration. Không có chức năng được tích hợp sẵn như vậy. – Rikard

Các vấn đề liên quan