27

Làm cách nào để vô hiệu hóa tính năng khóa tài khoản của SqlMembershipProvider?Vô hiệu hóa việc khóa tài khoản bằng SqlMembershipProvider

Tài liệu MSDN cho thuộc tính MaxInvalidPasswordAttempts không chỉ định cách tắt tính năng này. Nếu tôi không thể tìm được cách chính xác để làm điều đó, tôi sẽ đặt thuộc tính maxInvalidPasswordAttempts thành giá trị lớn nhất của một int có thể đạt được kết quả tương tự.

Tôi biết rằng việc vô hiệu hóa việc khóa tài khoản không phải là ý tưởng lớn nhất nhưng tôi cần đạt được điều này trong thời gian ngắn.

Trả lời

39

Đặt thuộc tính maxInvalidPasswordAttempts thành Int32.MaxValue hoạt động như tôi đã đề xuất trong câu hỏi của mình và được minh họa trong đoạn web.config bên dưới. Tôi đã sử dụng Reflector để xem xét triển khai SqlMembershipProvider và không thể xem cách vô hiệu hóa tính năng khóa tài khoản một cách rõ ràng vì vậy tôi sẽ chấp nhận điều này như một giải pháp.

Tôi không kiểm tra đề xuất đặt PasswordAttemptWindow kỹ lưỡng nhưng không thể đặt thành 0 (phải là số nguyên dương, tối thiểu là một phút) vì vậy điều này sẽ không hoạt động mà không đặt thuộc tính maxInvalidPasswordAttempts đủ cao để ngăn khóa trong vòng một phút.

<membership defaultProvider="SqlMembershipProvider"> 
    <providers> 
    <add name="SqlMembershipProvider" type="..." 
     maxInvalidPasswordAttempts="2147483647" 
     /> 
    </providers> 
Các vấn đề liên quan