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



会话管理:我正在做一个关于电子健康记录系统的项目。当我登录并遍历到任何新页面时,在这种情况下,当我复制url并退出并粘贴url时,页面会在浏览器上重新加载。我想让它重定向到我的登录页面?我所有的页面都是这样。像所有的搜索,更新,主页。有谁能提出一个解决办法吗?

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

不知道你是基于什么框架构建的,但是,我不能提供更多的帮助。

我建议您使用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);
   }
}

以上代码可能需要修改,请根据您的要求进行修改。还要清除缓存以处理后退按钮。

最新更新