`

web记录用户登出时间解决方案

 
阅读更多

2012-2-28


方案一

监听session摧毁

1.继承HttpSessionListener并实现sessionDestroyed方法

2.设置session过期最大值,一般为30分钟。

优点:容易实现

缺点:精度不高


方案二

页面中使用框架或ajax不停向服务发送请求

1.页面中利用js或框架间隔性向服务器发送请求

优点:精度较高 

缺点:代码容易混乱,影响并发性能


方案三

利用页面js监听关闭页面事件和给出登出按钮并限制只能单用户登录

1.在页面中使用例如onunload事件监听

2.在事件发生时对服务器发送关闭请求

3.点登出按钮也是向服务器发送登出请求

4.登录时将检查用户是否已经登录

优点:准确及时

缺点:不适合在用户多点同时登录情况


项目实践

一般会考虑不同方案的综合使用。个人比较喜欢将session监听和页面监听混合使用。

在记录时,会记录下不同情况的备注。如果是页面监听来关闭的,则记录正常登出。如果是session监听关闭的,则记录超时登出。可综合了记录不同情况的优点也避免了对性能的影响。

 

0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics