Sa-Token
Sa-Token copied to clipboard
token-session无法手动设置有效期
使用版本:
<sa-token.version>1.34.0</sa-token.version> <sa-token-dao-redis.version>1.34.0</sa-token-dao-redis.version>
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-core</artifactId>
<version>${sa-token.version}</version>
</dependency>
<!-- sa-token 权限认证, 在线文档:https://sa-token.cc/ -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot3-starter</artifactId>
<version>${sa-token.version}</version>
</dependency>
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-reactor-spring-boot3-starter</artifactId>
<version>${sa-token.version}</version>
</dependency>
<!-- Sa-Token 集成 jwt -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-jwt</artifactId>
<version>${sa-token.version}</version>
</dependency>
<!-- Sa-Token 整合 Redis (使用jackson序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>${sa-token-dao-redis.version}</version>
</dependency>
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-autoconfig</artifactId>
<version>${sa-token.version}</version>
</dependency>
涉及的功能模块:
cn.dev33.satoken.stp
测试步骤:
-
我经过以下步骤测试: 1,yml 配置sa-token: timeout: 1800 activity-timeout: -1 后登陆时主动设置某些用户登陆时间为-1 Function<SaLoginModel, SaLoginModel> saLoginModelFunction = (v) -> { if (longLoginUser.contains(sysUser.getUserName())) { return v.setTimeout(-1); } return v; };
StpUtil.login(sysUser.getRecordId(), saLoginModelFunction.apply(new SaLoginModel() .setDevice("PC"))) -
得出以下结果: redis中session,token都正常变为-1而token-session依然限时1800且没有任何方式设置
-
我的理解是: 设置SaLoginModel.setTimeout(-1)后全部信息都应该跟着改变时长 请问,是我的理解不对,有需要配置的地方?
升级到最新版再试试