如何更改Spring Session(Redis)Cookie名称?

我们在同一个域的后面有两个项目(在它们前面的zuul代理),都使用spring会话项目,会话保存在redis中。

这两个会话应该是不同的,但似乎它们正在覆盖名为“ SESSION”的cookie中的彼此id。如何更改名字?有没有简单的方法可以通过配置来做到这一点?

回答:

好的,我没有在配置中找到任何属性来更改它。我深入研究了Spring会话的源代码,最后做了:

@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的源中的默认设置。

以上是 如何更改Spring Session(Redis)Cookie名称? 的全部内容, 来源链接: utcz.com/qa/429809.html

回到顶部