Redis
 sql >> Database >  >> NoSQL >> Redis

Come posso ottenere l'utente Principal attualmente autenticato con sicurezza primaverile e Redis nell'applicazione di avvio primaverile

ho appena cambiato client jedis in client di lattuga come di seguito e ha risolto il problema:

     <dependency>
        <groupId>biz.paluch.redis</groupId>
        <artifactId>lettuce</artifactId>
        <version>3.5.0.Final</version>
    </dependency>

Prima della sicurezza primaverile l'oggetto Principal era nullo perché il cookie denominato "JSESSIONID" non era stato creato dal client Jedis.

@EnableRedisHttpSession
public class RedisConfig {
@Bean
public LettuceConnectionFactory connectionFactory() {
    return new LettuceConnectionFactory();
}

@Bean
public CookieSerializer cookieSerializer() {
    DefaultCookieSerializer serializer = new DefaultCookieSerializer();
    serializer.setCookieName("JSESSIONID"); // <1>
    serializer.setCookiePath("/"); // <2>
    serializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$"); // <3>
    return serializer;
}
}