У меня есть установка JDBCRealm в glasfish 3.1 с oracle11.Аутентификация моего веб-приложения работает нормально, но теперь я хотел бы иметь возможность реагировать, если кто-то не сможет войти в систему 3 раза подряд.Глядя на мой журнал сервера, я вижу, что каждый раз, когда происходит сбой входа в систему, регистрируется исключение:
WARNING: WEB9102: Web Login Failed:
com.sun.enterprise.security.auth.login.common.LoginException:
Login failed: Security Exception
Ребята, знаете ли вы какой-нибудь способ перехватить его программно в моем коде Java?Я попытался погуглить, но безрезультатно.
Или, может быть, вы вообще знаете лучшее решение?Пожалуйста, поделитесь.
Спасибо, Дамо
ОБНОВЛЕНИЕ: Мне нужно перефразировать вопрос (или правильно объяснить ситуацию).Каждый раз, когда аутентификация не проходит, я хочу зарегистрировать ее в своей базе данных.Для этого мне нужно имя пользователя, временная метка и т. Д. Каждый раз, когда аутентификация не проходит, система проверяет счетчик ошибок и, если его больше 3, блокирует учетную запись пользователя.Итак, я мог бы сделать это в моем loginerror.jsp, но мне нужно имя пользователя.Не могу найти это нигде :).До сих пор я экспериментировал с фильтром, но кажется, что вы не можете фильтровать его по j_security_check url-patter (по крайней мере, в glassfish 3.1).Так что, действительно, основная проблема здесь заключается в получении имени пользователя, который не прошел регистрацию, переданного в loginerror.jsp (в любой форме: атрибут, параметр, что угодно).Пойду и поэкспериментирую с каким-нибудь java-скриптом и отправлю форму .. хе-хе.Благодаря.