2012-07-26 53 views
4

我试图在我的登录模块中获取HttpSession或请求。 我已经试过JACC,但它没有工作。在JAAS登录模块中获取HttpSession /请求

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

在此先感谢。

回答

8

我正是在我的应用程序上运行JBoss AS。

这就是我做,从登录模块中访问HttpServletRequest的:

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

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

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