[英]How to configure Redis Session in OAuth 2.0 Spring Boot?
我是Spring配置Redis会话的新手,我对Redis使用了以下配置
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
//RedisConfig
@Bean
public JedisConnectionFactory redisConnectionFactory() {
JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory();
redisConnectionFactory.setHostName(redisHost);
redisConnectionFactory.setPort(redisPort);
if (redisPass != null) {
redisConnectionFactory.setPassword(redisPass);
}
redisConnectionFactory.setUsePool(true);
return redisConnectionFactory;
}
@Bean
public RedisTemplate<?, ?> redisTemplate() {
RedisTemplate<?, ?> template = new RedisTemplate<>();
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new
LdapFailAwareRedisObjectSerializer());
template.setConnectionFactory(redisConnectionFactory());
return template;
}
@Bean
public RedisCacheManager redisCacheManager() {
RedisCacheManager cacheManager = new
RedisCacheManager(redisTemplate());
cacheManager.setUsePrefix(true);
cacheManager.setDefaultExpiration(240);
return cacheManager;
}
//Application.java
@Bean
public TokenStore tokenStore(RedisConnectionFactory
redisConnectionFactory) {
return new RedisTokenStore(redisConnectionFactory);
}
对于一个项目来说,这很好。 但是,如果我以相同的配置在第二个项目中进行配置,则在尝试运行第二个项目时出现以下错误。
试试下面的redis示例,您可以在其中添加auth2配置。 https://github.com/Ravenloup/springboot-redis-session
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.