实现单点登录并强制对方下线

          前些天做了一个网站,客户的要求是实现单点登录,并如果有人在用这个号码登录就强制第一个人下线。自己以前看到过这个例子,是将用户登录的信息存储在application之中,登录的时候判断是否由此信息,来实现单点登录。但是这有一个弊端,就是用户必须正常退出(其实应该还有别的方法,只是我暂时还没有想到),下次才能正常登录。但是不可能所有的用户都会想到去点击退出,由此就会有好多的用户登录之后,如果不是正常退出,下次就不能登录了。

          又到网上去搜索了一下,就是有个,当用户关闭浏览器的时候触发一个事件,然后调用方法,清除用户登录的信息。但是这样问题有出来了,如果用户关闭的不是浏览器,而是一个网页标签的话,这样的就不会触发这个事件了。在一次否定了。

           最后又回到了application,只能在此去做文章了,其实这个解决方案,是我的主管点拨我的,借此来跟大家分享。回到话题,每当一个用户启动浏览器,就回在服务器端创建一个会话,每个会话有不同的ID,在存储信息的时候,把sessionID和用户的用户名(用户名必须唯一)以字符串的形式来存储到application之中,当下一个用户用相同的用户名进行登录的时候,把取出存储在application中sessionID,然后根据此ID删除,存储用户信息的会话,以此来实现单点登录,并且强制早先登录的用户。

          这个知识点也是刚实现,就跟大家来分享了,测试成功了,但是不知会有其他的弊端。如果后续有什么BUG,会再次更正。

     

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fervour

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值