sql >> データベース >  >> NoSQL >> Redis

SpringBootアプリケーションでSpringSecurityとRedisを使用して現在認証されているユーザープリンシパルを取得するにはどうすればよいですか?

    ジェダイクライアントを以下のようにレタスクライアントに変更したところ、問題は解決しました:

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

    春のセキュリティ以前は、「JSESSIONID」という名前のCookieがJedisクライアントによって作成されていなかったため、プリンシパルオブジェクトはnullでした。

    @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;
    }
    }
    


    1. mongodbからのtransparent_hugepage/defrag警告を回避する方法は?

    2. mongoimportを使用してファイルからmongodbにjsonをインポートする

    3. MongoDBシェルとサーバーが一致しません

    4. RedisとMongoDB:知っておくべきこと