j_security_check身份验证可以跟随另一个Web身份验证机制吗?

时间:2012-04-22 06:58:25

标签: java-ee jaas j-security-check

在我的网络应用中,我使用基于表单的登录。我有一个场景,除了login-config.xml中设置的表的数据外,我还要验证不同数据库中的用户。

所以,我在想这个流程:

用户尝试访问受保护资源 - >如果没有活动会话,将被重定向到登录表单 - >用户输入他的凭证 - > j_security_check根据login-config.xml进行身份验证 - >如果身份验证成功,那么好,否则重定向到jsp错误页面,我检查用户是否存在于另一个数据库中(Active目录是特定的。我已经拥有验证凭据的代码)并创建成功会议 - >否则重定向到错误页面

上面以粗体突出显示的部分是否可能?

我在一些文章中读到,一旦对j_security_check进行了身份验证,就无法对其进行过度规则。这是真的???

是否还有其他可能解决此问题的方法(除了将其他数据库的用户添加到login-config.xml中指定的表或修改login-config.xml之外)?

(我正在使用Jboss)

感谢。

1 个答案:

答案 0 :(得分:0)

创建Servlet过滤器,该过滤器将捕获j_security_check之后重定向的用户的URL。在此筛选器中,检查其他数据库中的用户凭据。

如果检查成功,则添加会反映该事实的会话布尔值。如果检查失败,请删除会话(HttpSession.invalidate()方法)并将用户重定向到错误页面。

过滤器可能会捕获所有需要授权的URL。在你过滤检查是否有布尔标志,所以你不要一次又一次地检查数据库。