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

时间:2012-07-26 12:02:54

标签: java-ee jaas jacc

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

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

提前感谢。

1 个答案:

答案 0 :(得分:8)

我在JBoss AS上运行的应用程序中就是这样做的。

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

HttpServletRequest request = (HttpServletRequest) PolicyContext.getContext(HttpServletRequest.class.getName());

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

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