Подтвердить что ты не робот

Отключение блокировки учетной записи с помощью SqlMembershipProvider

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

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

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

4b9b3361

Ответ 1

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

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

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