业务系统避免Session过期的思路

Web业务系统中有可能遭遇Session过期问题,用户登录后在半小时内不用系统是很常见的事情,用户比较反感重新登录系统的事情,但为了减少服务器的负载,Session超时不会设置的太长,如何解决这个问题呢?

为了安全和方便,可以增加一个锁定界面的功能,锁定时在原页面之上增加一个层,覆盖掉原内容,输入正确密码后隐藏该层,恢复锁定前的界面。也可指定一段时间无操作时自动锁定;

有一个思路解决Session过期问题:
在页面中加入一个js的定时操作,用ajax访问以下一个固定的页面(该页面不做实际工作),既不影响用户体验又保证在用户不关浏览器的时候session永不超时,js的这个定时最好是session超时的1/2.5,这样保证在一个Session超时时间里,有两次机会让js去访问服务器;

但是如果用户真的忘记关浏览器了怎么办?可以设置一个很长的时间,如4个小时,在这么长时间之内用户没有鼠标或键盘操作,就退出系统。

最近在使用“狗爹”网站时发现这个网站的一个方法,当快要达到Session过期时间时,系统弹出一个层,告诉用户已经有X分钟没有操作了,询问用户是否延长Session,用户只需要点一次“是”即可。如果规定时间内用户没有对这个询问做出反馈,系统就认为人已经不在了,自动Session过期。