问题
因为SpringSecurity登录成功后的session信息存在SecurityContextHolder里,所以登录成功后访问首页向另一个模块发送请求时读不到登录信息,导致被弹回登录界面。
解决
引入Redis依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
在几个模块中都配置下Redis
spring:
redis:
database:
host:
port:
password:
在SpringSecurity模块配置类添加注解@EnableRedisHttpSession(redisFlushMode = RedisFlushMode.IMMEDIATE),Session调用就会自动去Redis存取
@EnableRedisHttpSession(redisFlushMode = RedisFlushMode.IMMEDIATE)
@Configuration
public class RedisSessionConfig {
}
解决