2016-11-18 9 views
0

私たちはZuulをエッジサーバーとして使用するSpring Cloudといくつかのバックエンドマイクロサービスでマイクロサービスに基づいたシステムを構築しています。これらのバックエンドサービスの1つでは、Redisを使用してHttpSessionを管理し、ユーザー関連のオブジェクトを保存します。RedisのスプリングHttpSessionはセッションクッキーの値を保存しません

マイクロサービスに直接アクセスするとすべてがうまくいくが、バッキングマイクロサービスは常に新しいHttpSession IDを取得するため、Zuulからアクセスすると問題が発生する。 とSESSIONのクッキーをZuulFilterを使用してマイクロサービスに渡そうとしましたが、マイクロサービスはCookie値を使用せずに終了し、Redisのセッションを作成します。

誰でも、SpringセッションでHttpSession.IDの代わりにCookieの値を使用する方法を決定するのに役立つことができますか?

私たちは、使用している:

答えて

0

が、私は似たようなを試してみました。

@Bean 
public HttpSessionStrategy httpSessionStrategy() { 
    CookieHttpSessionStrategy cookieHttpSessionStrategy = new CookieHttpSessionStrategy(); 
    DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer(); 
    cookieSerializer.setCookieName("JSESSIONID"); 
    cookieSerializer.setCookiePath("/"); 
    cookieSerializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$"); 
    cookieHttpSessionStrategy.setCookieSerializer(cookieSerializer); 
    return cookieHttpSessionStrategy; 
} 
https://github.com/khauser/microservices4vaadin

DefaultCookieSerializerへの変更が必要である:あなたはここで見ているかもしれません

関連する問題