会话管理:我正在做一个关于电子健康记录系统的项目。我想管理会话

时间:2016-07-02 07:53:47

标签: jsp servlets

会话管理:我正在做一个关于电子健康记录系统的项目。当我登录并遍历任何新页面时,在这种情况下,当我复制网址并注销并粘贴网址时,页面会在浏览器上重新加载。我希望它重定向到我的登录页面?我的所有页面都会发生这种情况。像所有搜索,更新,主页一样。任何人都可以提出一个解决方法吗?

2 个答案:

答案 0 :(得分:0)

您需要为整个网站添加身份验证。例如,在ASP.NET MVC中,您将[Authorize]属性添加到所有控制器。当您注销并尝试导航到需要身份验证的其中一个页面时,用户将被重定向到登录页面。

不知道你正在建立什么框架,但我不能再有所帮助了。

答案 1 :(得分:0)

我建议您使用Filter来处理会话,而不是为每个控制器方法编写会话检查。
做这样的事。

public class SessionFilter implements Filter {

   public void destroy() {
   }

   public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException 
   {

    HttpServletRequest request = (HttpServletRequest) req;
    HttpServletResponse response = (HttpServletResponse) res;
    HttpSession session = request.getSession(false);
    if (null == session) {
        response.sendRedirect("index.jsp");
    }
    Boolean isLoggedIn = session.getAttribute("isLoggedIn"); // replace with your variable
    if(!isLoggedIn)
        response.sendRedirect("index.jsp");


    chain.doFilter(req, res);
   }
}

上面的代码可能需要进行一些修改,因此请根据您的要求进行修改。同时清除缓存以处理后退按钮的情况。