在微服务架构中使用Sa-Token时,网关和内部服务要分开引入Sa-Token依赖(不要直接在顶级父pom中引入Sa-Token)
需要分别引入
主要看基础框架
对于内部基础服务 来说 springboot 默认web模块 SpingMVC --->是基于Servlet模块的 所以需要引入
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.34.0</version>
</dependency>
<!-- Sa-Token 整合 Redis (使用jackson序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>1.34.0</version>
</dependency>
对于网关服务 一种是Servlet模型的,如Zuul 需要引入上面的依赖
而基于Reactor模型的 如:SpringCloud Gateway 需要引入
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-reactor-spring-boot-starter</artifactId>
<version>1.34.0</version>
</dependency>
<!-- Sa-Token 整合 Redis (使用jackson序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>1.34.0</version>
</dependency>
并且注册全局过滤器以及引入Redis集成包,因为我们的网关和子服务主要通过Redis来同步数据
注意:SpringCloud Gateway是基于WebFlux 的
更详细到Satoken官网 :https://sa-token.cc/doc.html#/micro/import-intro