Отключение блокировки учетной записи с помощью SqlMembershipProvider - PullRequest
28 голосов
/ 28 апреля 2009

Как отключить функцию блокировки учетной записи SqlMembershipProvider ?

В документации MSDN для свойства MaxInvalidPasswordAttempts не указано, как его отключить. Если я не могу найти правильный способ сделать это, я установлю для атрибута maxInvalidPasswordAttempts максимальное значение типа int, которое может эффективно достичь того же результата.

Мне хорошо известно, что отключение блокировки учетной записи - не самая лучшая идея, но мне нужно добиться этого в краткосрочной перспективе.

1 Ответ

40 голосов
/ 28 апреля 2009

Установка атрибута maxInvalidPasswordAttempts равной Int32.MaxValue работает так, как я предложил в моем вопросе и как показано во фрагменте web.config ниже. Я использовал Reflector , чтобы посмотреть на реализацию SqlMembershipProvider, и не могу понять, как явно отключить функцию блокировки учетной записи, поэтому я собираюсь принять это как решение.

Я не проверял предложение полностью установить PasswordAttemptWindow, но его нельзя установить равным 0 (должно быть положительным целым числом, т. Е. Минимум одну минуту), поэтому это не сработало бы, если бы атрибут maxInvalidPasswordAttempts не был установлен достаточно высоко, чтобы предотвратить локаут в течение одной минуты.

<membership defaultProvider="SqlMembershipProvider">
  <providers>
    <add name="SqlMembershipProvider" type="..."
         maxInvalidPasswordAttempts="2147483647"
         />
  </providers>
...