2009-07-21 27 views
8

Có nhà cung cấp thành viên ASP.NET tùy chỉnh để bán với bảo mật bổ sung không? Ví dụ: khả năng có nhiều câu hỏi/câu trả lời được trình bày ngẫu nhiên để đặt lại mật khẩu, đặt số lần đăng nhập, buộc đặt lại mật khẩu sau mỗi 30 ngày, ngăn mật khẩu trùng lặp cho mật khẩu mới trong một khoảng thời gian nhất định, v.v.Có nhà cung cấp thành viên ASP.NET tùy chỉnh để bán với bảo mật bổ sung không?

Trả lời

0

Gần đây tôi đã cập nhật nhà cung cấp tùy chỉnh của mình với một số tính năng được yêu cầu của bạn. Thật không may nó không phải là chính xác để bán, nhưng tôi đã muốn nói với bạn rằng nó sẽ không được terribly khó khăn để làm một mình.

Tính năng trả lời nhiều câu hỏi và đặt lại lực (hết hạn mật khẩu) thực sự có thể được triển khai bằng cách sử dụng bất kỳ nhà cung cấp nào vì chúng không được nhà cung cấp thực thi trực tiếp. Để bật Đặt lại mật khẩu, bạn có thể chỉ xác định một hằng số trong Cài đặt ứng dụng của mình, tức là "PasswordLifetimeInDays". Sau đó, trong trang Login của bạn chỉ cần ghi đè phương thức Authenticate và kiểm tra thuộc tính LastPasswordChange của MembershipUser. Nếu mật khẩu của họ hết hạn, hãy chuyển hướng họ đến trang ChangePassword, nếu không hãy đăng nhập vào. Hãy xem this article để biết cách triển khai tính năng này.

Kịch bản câu hỏi được tạo trước cũng là thứ không thực sự phù hợp với chức năng của nhà cung cấp. Mặc dù, một giải pháp của bên thứ ba có thể chứa cơ chế này trong một API riêng biệt mà tôi cho là.

SqlMembershipProvider đã cung cấp cách thiết lập số lần đăng nhập thông qua thuộc tính MaxInvalidPasswordAttempts.

Thực sự, chức năng mật khẩu trùng lặp là phần duy nhất thực sự thuộc về việc triển khai nhà cung cấp vì nó yêu cầu một bảng bổ sung để theo dõi lịch sử mật khẩu.

Hãy cho tôi biết nếu bạn quyết định tự mình triển khai công cụ này và tôi có thể cung cấp thêm một số hướng dẫn.

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