【Sa-Token】8、Sa-Token开启全局侦听器

简介: 接口SaTokenListener是Sa-Token的全局侦听器,通过实现此接口,你可以在用户登录、退出、被踢下线等关键性操作时进行一些AOP操作

接口SaTokenListener是Sa-Token的全局侦听器,通过实现此接口,你可以在用户登录、退出、被踢下线等关键性操作时进行一些AOP操作

框架对此侦听器的默认实现是log日志输出,你可以通过配置sa-token.is-log=true开启

下面我们演示一下如何自定义侦听器的实现:

/**
 * 自定义侦听器的实现 
 */
@Component
public class MySaTokenListener implements SaTokenListener {
    /** 每次登录时触发 */
    @Override
    public void doLogin(String loginType, Object loginId, SaLoginModel loginModel) {
        // ... 
    }
    /** 每次注销时触发 */
    @Override
    public void doLogout(String loginType, Object loginId, String tokenValue) {
        // ... 
    }
    /** 每次被踢下线时触发 */
    @Override
    public void doLogoutByLoginId(String loginType, Object loginId, String tokenValue, String device) {
        // ... 
    }
    /** 每次被顶下线时触发 */
    @Override
    public void doReplaced(String loginType, Object loginId, String tokenValue, String device) {
        // ... 
    }
    /** 每次被封禁时触发 */
    @Override
    public void doDisable(String loginType, Object loginId, long disableTime) {
        // ... 
    }
    /** 每次被解封时触发 */
    @Override
    public void doUntieDisable(String loginType, Object loginId) {
        // ... 
    }
    /** 每次创建Session时触发 */
    @Override
    public void doCreateSession(String id) {
        // ... 
    }
    /** 每次注销Session时触发 */
    @Override
    public void doLogoutSession(String id) {
        // ... 
    }
}

我们便可以对不同场景做不同的操作,例如:登录时,保存登录日志

目录
相关文章
|
前端开发
【Sa-Token】7、Sa-Token抛出的异常统一处理
在 Sa-Token 的登录,授权,验证过程中,会抛出很多的异常,我们不能将这些异常信息直接返回给用户,因为用户是看不懂这些异常信息的,我们就需要对这些异常信息进行处理,处理之后再返回展示给前端用户
1384 0
|
缓存 NoSQL 中间件
【Sa-Token】6、Sa-Token集成Redis
Sa-Token 支持 Redis、Memcached 等专业的缓存中间件中, 做到重启数据不丢失,而且保证分布式环境下多节点的会话一致性
1798 0
|
3月前
|
JavaScript 数据安全/隐私保护
uniapp功能权限判断$auth.auth $auth.role显示判断生成源码
uniapp功能权限判断$auth.auth $auth.role显示判断生成源码
43 0
|
8月前
|
安全 算法 数据安全/隐私保护
CSRF 实验:Token 不与 Session 绑定绕过验证
CSRF 实验:Token 不与 Session 绑定绕过验证
|
网络安全 Python
requests--会话对象,ssl验证
requests--会话对象,ssl验证
|
缓存 前端开发 fastjson
Sa-Token中SerializationException
Sa-Token中SerializationException
90 1
node借助jsonwebtoken生成token以及验证token是否过期
node借助jsonwebtoken生成token以及验证token是否过期
|
安全 Java 数据库
SecurityOauth2密码模式/oauth/token探究
SecurityOauth2密码模式/oauth/token探究
420 0
|
缓存 安全 NoSQL
SpringBoot 如何使用 Sa-Token 完成权限认证?
SpringBoot 如何使用 Sa-Token 完成权限认证?
361 0