sql >> Base de Datos >  >> NoSQL >> Redis

¿Cómo puedo obtener el usuario principal actualmente autenticado con seguridad de primavera y Redis en la aplicación de arranque de primavera?

Acabo de cambiar el cliente de jedis a un cliente de lechuga como se muestra a continuación y resolvió el problema:

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

Antes de Spring Security, el objeto Principal era nulo porque la cookie llamada "JSESSIONID" no había sido creada por el cliente de 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;
}
}