Как настроить сеанс Redis в OAuth 2.0 Spring Boot? - PullRequest
0 голосов
/ 30 августа 2018

Я новичок в конфигурации 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);
}

Это нормально работает для одного проекта. Но если я настраиваю это во втором проекте с такой же конфигурацией, я получаю следующую ошибку при попытке запустить второй проект.

Some serialization error is occurring

1 Ответ

0 голосов
/ 17 сентября 2018

попробуйте ниже пример redis, вы можете добавить в него config auth2. https://github.com/Ravenloup/springboot-redis-session

...