繁体   English   中英

如何在OAuth 2.0 Spring Boot中配置Redis会话?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM