Spring security 2.0.3 и атаки по словарю - PullRequest
0 голосов
/ 31 января 2011

Я использую Spring Security 2.0.3, и мне нужно реализовать простой блок атаки по словарю, внедрение довольно тривиально, добавляя свойство userstatus и значение заблокированного когда значение назначено, когда у него есть X раз неправильных попыток входа в систему с момента последнего входа в систему. проблема в том, как перенаправить через весеннюю защиту на соответствующую страницу или даже лучше
перенаправить на login.jsp и через некоторый маркер сеанса блокировать входы (это блок JS только ofcours, но все же он мне нужен), Интерфейс UserDetailService Spring security определяет метод loadByUserName, который позволяет мне создавать собственное расширение BadCredentialsException, но ExceptionTranslationFilter не позволяет мне его использовать, есть ли встроенный способ сделать это с помощью Spring или мне нужно что-то взломать? спасибо

Ответы [ 2 ]

0 голосов
/ 01 февраля 2011

Реализуйте AuthenticationFailureHandler, который обновляет флаг подсчета / блокировки в БД и выполняет перенаправление. Я не рассчитывал на использование сеанса, потому что злоумышленник все равно не будет отправлять куки.

0 голосов
/ 31 января 2011

Я бы взглянул на раздел 2.3.5 документации . Я бы применил фильтр Pre-auth или фильтр Authentication Processing, который реализует вашу проверку на брут.Атака в стиле силы.Вы, вероятно, захотите создать фильтр, который в большинстве случаев просто делегирует исходный класс фильтра, за исключением проверки, чтобы увидеть, сделал ли пользователь слишком много запросов и т. Д. Кроме того, вы также можете переопределить все функции, вместоделегировать на оригинальный фильтр.

...