我是靠谱客的博主 忧心小蜜蜂,最近开发中收集的这篇文章主要介绍关于同一用户不能同时登录问题的探讨(1/2),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

  最近做项目的这块,客户要求是同一用户不能同时登录,对这个问题未加深刻考虑便爽快应许了。可后来就扒瞎了,正所谓外面豪气盖天,回家咬牙打滚,都怪自己开窍晚......当时想当然的是session放到application中,全局控制拉到,在登录和退出的时候进行修改,要是用户不点退出按钮,异常退出的话,再做个session监听也就拉到了呗!

  可是我错了,我抓心挠肝的真心错啦!这session的监听,destroy方法咋还等个30分钟才触发呢,真是服了气了!

最近才有时间整理这些东西,顺便总结一下!

正文

先上大菜,理论的东西会在《关于同一用户不能同时登录问题的探讨(2/2)》写上,也没多少。

一:设置web.xml中的Attribute监听(个人感觉Attribute监听比session监听更好用些,它监听的是Attribute的动作,类似是监听到了session在登录和退出操作中的动作,当然如果用session监听的话也是可以的,你要考虑登录,退出的操作,以及destroy的30分钟或者更长的滞后性)

二:做一个只有登录后才能看到的公共页面jsp文件中,采用异步的方法访问control,采用几秒访问一次(setInterval或者递归的setTimeout),每次访问就设定一次session的有效时长,一旦异常退出或者退出,这个轮询就会断开,到时候会在短时间内做出响应,写到这,相信大家都明白了吧,也是取巧啊。

咱这也是没法子呀,至今在网上没找到合适的解决方案,都是卡到了异常退出那了,还有说做浏览器监听的,嗯,在浏览器关闭前一刻发个请求,关了session,可是可是万恶的浏览器兼容问题呀,哪里容忍我们如此呢,浏览器监听这个法子不咋灵,不过如果浏览器固定的话,也是一个不错的解决办法呀!

代码部分

项目结构:

代码我上传到csdn上了啊,不需要积分的,有需要的看官,可以猛力的点击一下:下载

最后

以上就是忧心小蜜蜂为你收集整理的关于同一用户不能同时登录问题的探讨(1/2)的全部内容,希望文章能够帮你解决关于同一用户不能同时登录问题的探讨(1/2)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部