【求助】用户10分钟之内没有操作,应该重新登录

WangSongYuan 2016-07-05 05:36:35

网站后台每隔几秒就请求服务器

获取消息和实时在线用户

设置session-timeout也没用

目前想到最笨的方法是js监听鼠标键盘

不知道大神们有什么好的思路,求支个招

...全文
888 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
WangSongYuan 2016-07-22
  • 打赏
  • 举报
回复
已通过过滤器解决 此贴终结
sunsloth 2016-07-07
  • 打赏
  • 举报
回复
系统自动发送的请求是不是固定的呢?如果可以区分的话,在拦截到系统请求时是不是可以不设置session的时间,只有在拦截到非系统请求时设置为10分钟?
丨崛起 2016-07-07
  • 打赏
  • 举报
回复
学习中,是不是可以用filter拦截器啊
huchengfu 2016-07-07
  • 打赏
  • 举报
回复
使用监听器不可以吗
  • 打赏
  • 举报
回复
不知道你的session超时时间为啥不管用。 10分钟没操作指的是没有和后台交互还是包括页面鼠标没懂网也没网下滚?
家里敷泥呀 2016-07-07
  • 打赏
  • 举报
回复
引用 9 楼 WangSongYuan 的回复:
[quote=引用 7 楼 Q80470101 的回复:] session有效期定义为10分钟就好了。
没用 系统后台一直请求 session一直有效[/quote] session自动管理机制就是如此。如果有连续的请求,session一直有效。每次请求都会更新会话时间,直至某次请求后10分钟内没有任何操作,作为超时。 所以你不需要做任何编码,修改一个配置项就行了。 参考: 设置session失效时间的三种方法_文艺小清新_新浪博客 http://blog.sina.com.cn/s/blog_8fe8076e0101a8aj.html
阳光越来越暖 2016-07-06
  • 打赏
  • 举报
回复
session的有效时间定为10分钟 拦截一次所有请求 就是判断如果拦截到任意一个请求 就重新设置session 的有效期为10分钟 每次拦截到 都把session的有效期定为10分钟 如果枚拦截到 就不管 这样10分钟之后没有请求 session就空了 用户在操作的时候就得重新登录
WangSongYuan 2016-07-06
  • 打赏
  • 举报
回复
引用 6 楼 anchor1 的回复:
每隔一分钟(或多少秒)进行检测,如果不在线开始计时,超过一定时间session清除。
怎样才算不在线呢?
WangSongYuan 2016-07-06
  • 打赏
  • 举报
回复
引用 7 楼 Q80470101 的回复:
session有效期定义为10分钟就好了。
没用 系统后台一直请求 session一直有效
ncc595720438 2016-07-06
  • 打赏
  • 举报
回复
问题的关键是判断请求是系统自动发送的,还是用户操作发送的请求,是不是可以加个标志。
丶太阳 2016-07-06
  • 打赏
  • 举报
回复
进来学习学习
家里敷泥呀 2016-07-06
  • 打赏
  • 举报
回复
session有效期定义为10分钟就好了。
聪头 2016-07-06
  • 打赏
  • 举报
回复
每隔一分钟(或多少秒)进行检测,如果不在线开始计时,超过一定时间session清除。
WangSongYuan 2016-07-06
  • 打赏
  • 举报
回复
引用 3 楼 twqllq98849577 的回复:
用户操作必定交互后台,使用拦截器记录一下最后操作时间,。其实就是session的实现原理
获取最后操作时间没用的 我已经在文章前面说了 系统会每隔几秒会自动请求后台 用户半个小时不操作电脑 获取到的session最后操作时间 也是最新的
morning2008 2016-07-06
  • 打赏
  • 举报
回复
自己管理session,对于非有效访问,不记录有效时间
qq_28604119 2016-07-06
  • 打赏
  • 举报
回复
11楼正解。
代码与酒 2016-07-06
  • 打赏
  • 举报
回复
引用 5 楼 WangSongYuan 的回复:
[quote=引用 3 楼 twqllq98849577 的回复:] 用户操作必定交互后台,使用拦截器记录一下最后操作时间,。其实就是session的实现原理
获取最后操作时间没用的 我已经在文章前面说了 系统会每隔几秒会自动请求后台 用户半个小时不操作电脑 获取到的session最后操作时间 也是最新的[/quote]如果自动请求是固定不变的话可以加一个判断,不是这个请求就记录操作时间,否则不记录
5>>2 2016-07-06
  • 打赏
  • 举报
回复
想的太复杂了。 每次请求判断用户表的 time字段,是否过期,如果过期重新登录,不过期更新time字段为当前时间,并执行相应请求。
twqllq98849577 2016-07-05
  • 打赏
  • 举报
回复
如果不交互后台,你的需求没意义,也就是说不存在用户在不在线的问题
twqllq98849577 2016-07-05
  • 打赏
  • 举报
回复
用户操作必定交互后台,使用拦截器记录一下最后操作时间,。其实就是session的实现原理
加载更多回复(2)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧