mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-05-07 22:27:56 +08:00
commit
f8210c6ca5
@ -214,5 +214,17 @@ public class SaTokenEventCenter {
|
|||||||
listener.doLogoutSession(id);
|
listener.doLogoutSession(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每次renew timeout时触发
|
||||||
|
*
|
||||||
|
* @param tokenValue
|
||||||
|
* @param loginId
|
||||||
|
* @param timeout
|
||||||
|
*/
|
||||||
|
public static void doRenewTimeout(String tokenValue, Object loginId, long timeout) {
|
||||||
|
for (SaTokenListener listener : listenerList) {
|
||||||
|
listener.doRenewTimeout(tokenValue, loginId, timeout);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,5 +69,13 @@ public interface SaTokenListener {
|
|||||||
* @param id SessionId
|
* @param id SessionId
|
||||||
*/
|
*/
|
||||||
public void doLogoutSession(String id);
|
public void doLogoutSession(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行renew超时时间操作的时触发
|
||||||
|
*
|
||||||
|
* @param tokenValue
|
||||||
|
* @param loginId
|
||||||
|
* @param timeout
|
||||||
|
*/
|
||||||
|
public void doRenewTimeout(String tokenValue, Object loginId, long timeout);
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,18 @@ public class SaTokenListenerForConsolePrint implements SaTokenListener {
|
|||||||
println("Session[" + id + "]注销成功");
|
println("Session[" + id + "]注销成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每次更新超时时间后触发
|
||||||
|
*
|
||||||
|
* @param tokenValue
|
||||||
|
* @param loginId
|
||||||
|
* @param timeout
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void doRenewTimeout(String tokenValue, Object loginId, long timeout) {
|
||||||
|
println("帐号[" + loginId + "]更新超时时间成功!");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日志输出的前缀
|
* 日志输出的前缀
|
||||||
*/
|
*/
|
||||||
|
@ -52,4 +52,9 @@ public class SaTokenListenerForSimple implements SaTokenListener {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doRenewTimeout(String tokenValue, Object loginId, long timeout) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1219,6 +1219,9 @@ public class StpLogic {
|
|||||||
if(isOpenActivityCheck()) {
|
if(isOpenActivityCheck()) {
|
||||||
dao.updateTimeout(splicingKeyLastActivityTime(tokenValue), timeout);
|
dao.updateTimeout(splicingKeyLastActivityTime(tokenValue), timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 通知更新超时事件
|
||||||
|
SaTokenEventCenter.doRenewTimeout(tokenValue, loginId, timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------- 角色验证操作 -------------------
|
// ------------------- 角色验证操作 -------------------
|
||||||
|
@ -47,8 +47,13 @@
|
|||||||
|
|
||||||
|
|
||||||
### 加了注解进行鉴权认证,不生效?
|
### 加了注解进行鉴权认证,不生效?
|
||||||
注解鉴权功能默认关闭,两种方式任选其一进行打开:注册注解拦截器、集成AOP模块,参考:[注解式鉴权](/use/at-check),
|
1. 注解鉴权功能默认关闭,两种方式任选其一进行打开:注册注解拦截器、集成AOP模块,参考:[注解式鉴权](/use/at-check)
|
||||||
如果已经打开仍然没有效果,加群说明一下复现步骤
|
2. 在Spring环境中, 如果同时配置了`WebMvcConfigurer`和`WebMvcConfigurationSupport`时, 也会导致拦截器失效.
|
||||||
|
|
||||||
|
**常见场景**: 很多项目中会在`WebMvcConfigurationSupport`中配置`addResourceHandlers`方法开放Swagger等相关静态资源映射, 同时基于Sa-Token添加了`WebMvcConfigurer`配置`addInterceptors`方法注册注解拦截器, 这样会导致注解拦截器失效.
|
||||||
|
|
||||||
|
**解决方案**: `WebMvcConfigurer`和`WebMvcConfigurationSupport`只选一个配置, 建议统一通过实现`WebMvcConfigurer`接口进行配置.
|
||||||
|
4. 如果以上步骤处理后仍然没有效果,加群说明一下复现步骤
|
||||||
|
|
||||||
|
|
||||||
### 有时候我不加 Token 也可以通过鉴权,请问是怎么回事?
|
### 有时候我不加 Token 也可以通过鉴权,请问是怎么回事?
|
||||||
|
@ -78,7 +78,12 @@ public class MySaTokenListener implements SaTokenListener {
|
|||||||
public void doLogoutSession(String id) {
|
public void doLogoutSession(String id) {
|
||||||
System.out.println("---------- 自定义侦听器实现 doLogoutSession");
|
System.out.println("---------- 自定义侦听器实现 doLogoutSession");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 每次更新token超时时间时触发 */
|
||||||
|
@Override
|
||||||
|
public void doRenewTimeout(String tokenValue, Object loginId, long timeout) {
|
||||||
|
System.out.println("帐号[" + loginId + "]更新超时时间成功!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user