同じドメインの背後に 2 つのプロジェクト (それらの前に zuul プロキシ) があり、どちらもセッションが redis に保持された spring session プロジェクトを使用しています。
これらの 2 つのセッションは異なるはずですが、「SESSION」という名前の Cookie で互いの ID を上書きしているようです。その名前を変更するには?構成を通じてそれを行う簡単な方法はありますか?
同じドメインの背後に 2 つのプロジェクト (それらの前に zuul プロキシ) があり、どちらもセッションが redis に保持された spring session プロジェクトを使用しています。
これらの 2 つのセッションは異なるはずですが、「SESSION」という名前の Cookie で互いの ID を上書きしているようです。その名前を変更するには?構成を通じてそれを行う簡単な方法はありますか?
わかりました、それを変更するためのプロパティが構成に見つかりませんでした。spring-session のソース コードを少し掘り下げて、最後に次のようにします。
@Bean
public <S extends ExpiringSession> SessionRepositoryFilter<? extends ExpiringSession> springSessionRepositoryFilter(SessionRepository<S> sessionRepository, ServletContext servletContext) {
SessionRepositoryFilter<S> sessionRepositoryFilter = new SessionRepositoryFilter<S>(sessionRepository);
sessionRepositoryFilter.setServletContext(servletContext);
CookieHttpSessionStrategy httpSessionStrategy = new CookieHttpSessionStrategy();
httpSessionStrategy.setCookieName("MY_SESSION_NAME");
sessionRepositoryFilter.setHttpSessionStrategy(httpSessionStrategy);
return sessionRepositoryFilter;
}
「SESSION」名は、CookieHttpSessionStrategy のソースに設定されているデフォルトです。