功能描述

互踢功能指的是同一个账号,在不同的浏览器登录之后,先登录的会被后登录的踢下线。

实现原理

本质上是每次登录之后会保存包含当前时间的redis的key,下次登录进来之后,首先是删除所有前缀是用户id的key,其次是以用户id和当前时间进行加密得到最新的key,并存入redis中。

每次调用方法会经过拦截器,拦截器会通过解密请求头里的token去判断redis是否存在,如果不存在则属于是下线了。

同一浏览器因为会替换请求头中的token,故同一浏览器再次登录并不会踢下线。