Получить HttpSession/Request в модуле входа в систему JAAS
Я пытаюсь получить HttpSession или Request в моем модуле входа. Я уже попробовал JACC, но это не сработало.
Мне это нужно, потому что я должен поставить капчу в окне входа в систему. Может быть, какой-нибудь ниндзя JAAS знает лучший способ сделать это. Я использую капчу, чтобы сделать это.
заранее спасибо.
1 ответ
Я делаю именно это в своих приложениях, работающих на JBoss AS.
Вот что я делаю, чтобы получить доступ к HttpServletRequest из модуля входа в систему:
HttpServletRequest request = (HttpServletRequest) PolicyContext.getContext(HttpServletRequest.class.getName());
Затем я получаю сессию, извлекаю капчу и проверяю ее по параметру запроса с экрана. После аутентификации пользователя я удаляю параметр captcha из сеанса. Это прекрасно работает для меня.
Обратите внимание, что модуль входа в систему также может быть активирован вызовами EJB после того, как пользователь уже аутентифицирован. В этом случае параметр captcha не будет в сессии, конечно. Так что вы должны это проверить.