在JAAS登录模块中获取HttpSession/Request

use*_*562 4 jaas java-ee jacc

我正在尝试在我的登录模块中获取HttpSession或Request.我已经尝试过JACC,但它没有用.

我需要这个,因为我必须在登录窗口中放置验证码.也许一些JAAS忍者知道更好的方法.我正在使用kaptcha这样做.

提前致谢.

小智 8

我在JBoss AS上运行的应用程序中完成了这一点.

这是我从登录模块中访问HttpServletRequest所做的工作:

HttpServletRequest request = (HttpServletRequest) PolicyContext.getContext(HttpServletRequest.class.getName());
Run Code Online (Sandbox Code Playgroud)

然后我得到会话,提取验证码并根据屏幕上的请求参数对其进行验证.在我对用户进行身份验证后,我从会话中删除了captcha参数.这对我来说很好.

请注意,在用户已经过身份验证后,EJB调用也可以激活登录模块.在这种情况下,当然,验证码参数不在会话中.所以你应该检查一下.