4

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

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

提前致谢。

4

1 回答 1

8

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

这是我从登录模块中访问 HttpServletRequest 的操作:

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

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

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

于 2012-10-01T14:47:43.090 回答