在之前的一篇博文《java web 用户单点登录的方案的基本实现》中,介绍了限制用户重复登录的思路和方案,但这种方案有一些异常情况会导致用户被”锁死“,下面分别介绍其处理方法。
1.用户登录系统后并未点击安全退出按钮而是直接关闭浏览器,这样再次登录时,由于并未实施application map和session的清除工作,所以用户登录的信息还在loginUserMap中,再次登录时则提示已经登录。只有等session timeout 失效后才能登录,一般时间较长,十分影响用户体验。
2.断网,浏览器崩溃等异常情况,出现这种情况,session和map也未及时销毁,所以再次登录也会出现重复登录的情况。<