论坛首页 Java企业应用论坛

页面“长时间”操作引起的Session过期

浏览 34293 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-12  
lujh99 写道
万一他打勾打到一半突然尿急,上厕所去了,偏偏又超过了5分钟,session过期那他前面的活岂不白干了,所以这个页面就做个定时连接一下服务器,让它永不过期好了,除非他把这个页面关掉。

这种情况就应该算超时,万一在他上厕所的时间里,有其他人利用这个空档做了手脚怎么办?这就像屏保一样,要在用户不交互达到一定时间时锁定。不管用户是不是离开位子。
0 请登录后投票
   发表时间:2007-10-12  
rehte 写道
lujh99 写道
万一他打勾打到一半突然尿急,上厕所去了,偏偏又超过了5分钟,session过期那他前面的活岂不白干了,所以这个页面就做个定时连接一下服务器,让它永不过期好了,除非他把这个页面关掉。

这种情况就应该算超时,万一在他上厕所的时间里,有其他人利用这个空档做了手脚怎么办?这就像屏保一样,要在用户不交互达到一定时间时锁定。不管用户是不是离开位子。


那只是打个比方,即使人不离开座位,比如接个电话什么的,超过5分钟不去点页面也是很有可能的,要求用户隔一定时间要点一下页面是不太可能的,所以由人为的操作来触发与服务器的连接是不恰当的。

不过如果要求session 5分钟过期就是安全性上的考虑的话,还就是得隔一定时间人为触发一下。
0 请登录后投票
   发表时间:2007-10-13  
rehte 写道
lujh99 写道
万一他打勾打到一半突然尿急,上厕所去了,偏偏又超过了5分钟,session过期那他前面的活岂不白干了,所以这个页面就做个定时连接一下服务器,让它永不过期好了,除非他把这个页面关掉。

这种情况就应该算超时,万一在他上厕所的时间里,有其他人利用这个空档做了手脚怎么办?这就像屏保一样,要在用户不交互达到一定时间时锁定。不管用户是不是离开位子。


赞成!如果不是这样的话,这个问题就不存在讨论的基础了,直接设置Session不过期就可以了。
0 请登录后投票
   发表时间:2007-10-14  
tomkoo 写道

在Servlet Specification 2.4中对Session的过期有这样的一句描述:
引用

The session invalidation will not take effect until all servlets using that session have exited the service method.


所以,如果client跟server没有交互,那么session过期时间就开始计算了。

但是在实际应用中,我遇到了这样的问题:

客户要求系统5分钟不操作Session就过期。但是我们有一项功能“银企对账”,需要在页面上对2000多条数据进行勾选,这个勾选完全是页面的操作,同Server没有任何交互,但是由于数据量大,勾选的时间远远超过5分钟,当勾选完后执行操作时,Session已经过期了。

这样的矛盾如何解决?设置自动同Server交互以维持Session?Or Other?


这个世界上有什么新鲜花样?特别是java的业务实现,都是别人做过的东西。这种逻辑抄袭就行了。
从安全角度上看,自动连接刷新session是非常危险的。多用些网银就知道了,就是2种做法:
1,主动通知:服务器端把session的timeout设为5分钟,页面有个计时器(新页面的话会重新计时),如果到了5分钟,就通知客户说,你5分钟没连接session了,是否要logout(客户点否,就用javascript送一个httprequest去刷session),客户选“是”或者不选都算logout。这段代码应该包括在所有的页面中。前面一个朋友说用事件函数也可以,但是如果在每个页面都这样写,可能会和别的逻辑代码冲突。
2,被动认证:另外一种做法还是自动timeout,超时的话就去一个页面多输入一次密码。我觉得这种实现实际是多层架构,就是在app server层有timeout,实际上web server的是没有timeout或者很长的timeout,这样保证了安全性和页面逻辑的一致性。
0 请登录后投票
   发表时间:2007-10-22  
如果Server端得自身运算超过5分钟,应该如何处理session?
0 请登录后投票
   发表时间:2007-10-22  
qlhl2000 写道
如果Server端得自身运算超过5分钟,应该如何处理session?
你先试一下看看。。。
0 请登录后投票
   发表时间:2007-11-18  
你这情况肯定要跟客户协调了,必须说明有些操作会费时超过5分钟,因此他们的要求是办不到的。
0 请登录后投票
   发表时间:2007-11-18  
我对自动刷新有哪些危险比较有兴趣
0 请登录后投票
   发表时间:2007-11-19  
客户端的操作有5分钟,是不是性能有问题?
能不能优化呢
0 请登录后投票
   发表时间:2007-11-19  
选中2000条数据需要5分钟?这个是不是有点慢?用户受得了吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics