《SAAS平台-用户授权遇到问题-用户“非正常退出”》

《SAAS平台-用户授权遇到问题-用户“非正常退出”》

用户“非正常退出”(如不点退出按钮,直接关闭浏览器),系统无法感知用户已经“退出”?

方案一:
利用websocket机制,断线立即触发“退出”动作

缺点:如果用户网络不稳定,经常掉线,系统会频繁退出,对用户很不友好

方案二:

判断onlineUser中是否存在该用户:
有:允许登陆
无:继续验证

当前登陆数是否到上限(大于等于用户授权数)
否:允许登陆
是:拒绝登陆

问题:
用户如果一直一非正常方式退出,则onlineUser一直存在该用户,绕过了用户授权数限制,漏洞?
解决:onlineUser 中用户缓存失效时间为”用户登陆有效的最大时长“,时间到立即淘汰该用户,也就是说最大可以通过漏洞多登录一天(比起用户体验,优先采用)
 

发布了48 篇原创文章 · 获赞 4 · 访问量 3216

猜你喜欢

转载自blog.csdn.net/Sunxn1991/article/details/103782653