会话管理:我正在做一个关于电子健康记录系统的项目。当我登录并遍历到任何新页面时,在这种情况下,当我复制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);
}
}
以上代码可能需要修改,请根据您的要求进行修改。还要清除缓存以处理后退按钮。