Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment puis-je obtenir le principal de l'utilisateur actuellement authentifié avec la sécurité du printemps et Redis dans l'application de démarrage du printemps

je viens de changer le client jedis en client laitue comme ci-dessous et cela a résolu le problème :

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

Avant la sécurité du printemps, l'objet principal était nul car le cookie nommé "JSESSIONID" n'avait pas été créé par le 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;
}
}