当我的登录页面加载时,浏览器正在创建 session 。 但是用户直到 session 超时才登录。 但之后他尝试登录。 但是由于 session 已经被销毁,他被带到 session 过期页面。
现在我的要求
如果用户仍在登录页面时 session 被销毁,我应该在他尝试登录之前将他重定向到 session 过期页面,即当 session 销毁事件被触发时,我应该将他重定向到 session 过期页面。
请告诉我对此应该采取什么方法。
最佳答案
服务器只能在浏览器发送请求时重定向浏览器,而用户只是坐在登录页面不会发送任何内容。
但是,网页可以定期向服务器发出后台 AJAX 请求,不断检查 session 是否过期。如果 AJAX 请求被告知 session 已过期,浏览器会通知用户。
但是,AJAX 请求本身很可能实际上会使 session 保持 Activity 状态,从而避免了问题的开始。
也许更好的解决方案是在显示登录页面时不创建 session ,将 session 创建推迟到尝试登录时。不过,这可能不适合您的设计。
关于java - session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2242823/