登录后重定向到servlet?

时间:2013-08-05 09:12:39

标签: java authentication glassfish-3

我正在使用基于表单的身份验证来保护我的网页,或者至少我会很快。

我最近才了解到这方面的细节,之前有我自己的自己开发的系统(这是一个只有5人登录的内部系统,但如果可能的话,我仍然希望以'Java Standard'的方式做到这一点。 )。

我想在有人登录我的应用程序时在会话中存储多个对象,就像我目前在我自己开发的实现中一样。但是,通过这个容器管理的安全性,我很难掌握如何做到这一点,或者至少是被认为是最佳实践的方式。

在我尝试导航到某个页面并重定向到登录页面后,正确登录,然后我会逻辑上被带到我的初始目的地,这是正确的。那么我最好的方法是将一个UserBean添加到会话中吗?我应该在过滤器中进行吗?或者我可以在每次登录尝试后重定向到servlet吗?

非常感谢任何指导。感谢。

1 个答案:

答案 0 :(得分:1)

对于这种情况,servlet过滤器几乎肯定是正确的解决方案。为了确保过滤器的内容每次登录只运行一次,我建议设置如下:

if(session.getAttribute(firstLoginFlag) == null){
    //load UserBean
    //do whatever else
    session.setAttribute(firstLoginFlag, true);
}
chain.doFilter(request, response);

这通常比重定向到servlet更好,因为它使过滤器独立于应用程序中的任何其他页面或逻辑,您不必在其中放入任何逻辑,以便在加载后将用户推送到其他位置UserBean和其他任何东西都已完成。