Sa-Token icon indicating copy to clipboard operation
Sa-Token copied to clipboard

多账号体系下,连接Redis,每次重启后端服务后,报未能获取对应StpLogic

Open YoungTakhin opened this issue 4 months ago • 2 comments

使用版本:

v1.39.0

涉及的功能模块:

多账号体系下,连接Redis持久化,每次重启后端服务后,报未能获取对应StpLogic

测试步骤:

  • 我经过以下步骤测试: 依赖:
        <!-- https://mvnrepository.com/artifact/cn.dev33/sa-token-spring-boot3-starter -->
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-spring-boot3-starter</artifactId>
            <version>${sa-token.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/cn.dev33/sa-token-redis-jackson -->
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-redis-jackson</artifactId>
            <version>${sa-token.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

StpKit:

    public static final StpLogic ADMIN = new StpLogic("ADMIN");

Controller:

@SaCheckLogin(type = "ADMIN")
@Tag(name = "Admin", description = "管理员")
@RestController
@RequestMapping("admins")
public class AdminController {
    //省略具体方法
}
  • 重启后端服务后,调用接口(已确定前端正确传递Token)得出以下结果:
cn.dev33.satoken.exception.SaTokenException: 未能获取对应StpLogic,type=ADMIN
  • 我的理解是: 单账号体系下正常,多账号体系下账号类型不会同步到Redis里面。自定义的StpLogic是否不会同步到Redis中?

  • 我的预期: 后端服务重启应该不影响Redis中的账号类型。

请问,是我的用法不对嘛?

YoungTakhin avatar Oct 18 '24 09:10 YoungTakhin