Неудачная попытка пароля - Как мне написать код в TSQL - PullRequest
1 голос
/ 07 февраля 2012

Вопрос задан неверно. Я знаю, как мне кодировать приведенную ниже логику в T-SQL (SQL Server 2005), чтобы увеличить количество ошибок для системы регистрации пользователей.

SELECT  CASE WHEN (FailedPasswordWindowStart < GETDATE() >= 
dateadd(minute,20,FailedPasswordWindowStart)) THEN 'Increase' ELSE 'Same' END FROM users

Проще говоря, когда текущее время находится в пределах последней попытки, а временные окна с последней попытки увеличивают количество ошибок.

1 Ответ

1 голос
/ 07 февраля 2012

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

SELECT 
CASE WHEN ABS((DATEDIFF(MINUTE,@LastAttempt,GETDATE())) <= @TimeWindow
THEN 'Increase' 
ELSE 'Same' END

@Window - Временное окно, в течение которого при попытке увеличить счетчик

@LastAttempt- Последняя попытка сбоя (дата и время)

Редактировать

добавлено ABS, поскольку полученное значение также может быть отрицательным:)

...