自定义侦听器,代码示例

This commit is contained in:
click33 2022-10-17 11:51:21 +08:00
parent 16e46b8bc7
commit 02335c3283
2 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,69 @@
package com.pj.satoken;
import cn.dev33.satoken.listener.SaTokenListener;
import cn.dev33.satoken.stp.SaLoginModel;
/**
* Sa-Token 自定义侦听器的实现
*
* @author kong
* @since 2022-10-17
*/
//@Component // 打开此注解 SpringBoot 扫描到组件即可完成自定义侦听器的注入
public class MySaTokenListener implements SaTokenListener {
/** 每次登录时触发 */
@Override
public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
System.out.println("---------- 自定义侦听器实现 doLogin");
}
/** 每次注销时触发 */
@Override
public void doLogout(String loginType, Object loginId, String tokenValue) {
System.out.println("---------- 自定义侦听器实现 doLogout");
}
/** 每次被踢下线时触发 */
@Override
public void doKickout(String loginType, Object loginId, String tokenValue) {
System.out.println("---------- 自定义侦听器实现 doKickout");
}
/** 每次被顶下线时触发 */
@Override
public void doReplaced(String loginType, Object loginId, String tokenValue) {
System.out.println("---------- 自定义侦听器实现 doReplaced");
}
/** 每次被封禁时触发 */
@Override
public void doDisable(String loginType, Object loginId, String service, int level, long disableTime) {
System.out.println("---------- 自定义侦听器实现 doDisable");
}
/** 每次被解封时触发 */
@Override
public void doUntieDisable(String loginType, Object loginId, String service) {
System.out.println("---------- 自定义侦听器实现 doUntieDisable");
}
/** 每次创建Session时触发 */
@Override
public void doCreateSession(String id) {
System.out.println("---------- 自定义侦听器实现 doCreateSession");
}
/** 每次注销Session时触发 */
@Override
public void doLogoutSession(String id) {
System.out.println("---------- 自定义侦听器实现 doLogoutSession");
}
/** 每次Token续期时触发 */
@Override
public void doRenewTimeout(String tokenValue, Object loginId, long timeout) {
System.out.println("---------- 自定义侦听器实现 doRenewTimeout");
}
}

View File

@ -197,3 +197,11 @@ SaTokenEventCenter.registerListener(new SaTokenListenerForSimple() {
##### 3.4、疑问:一个项目可以注册多个侦听器吗?
可以,多个侦听器间彼此独立,互不影响,按照注册顺序依次接受到事件通知。
---
<a class="case-btn" href="https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/MySaTokenListener.java"
target="_blank">
本章代码示例Sa-Token 自定义侦听器 —— [ com.pj.satoken.MySaTokenListener.java ]
</a>