Вам нужно то, что называется окном попытки пароля.
В основном 2 поля в базе данных, одно LastPasswordAttempt (datetime) и PasswordAttemptCount (int)
Затем при каждом входе в систему проверяйте, когда произошла последняя LastPasswordAttempt, и если это было в последние, скажем, 10 минут, - увеличьте значение PasswordAttemptCount, в противном случае установите для него значение 0 (или 1, поскольку они только что завершились неудачей).
В той же логике проверьте, равно ли PasswordAttemptCount, скажем, 5 или более, если это так, - запретите доступ пользователя. Вы можете иметь 3-е поле, которое блокирует их на несколько часов или день.
т.е. CanLoginAfter (datetime), который вы можете установить на день с момента последней попытки ввода пароля.
Надеюсь, это поможет