diff --git a/thrones/src/main/java/com/apobates/forum/thrones/App.java b/thrones/src/main/java/com/apobates/forum/thrones/App.java index 0511874663f8c36eaf21f018dd22a7f1d27321ee..1b2a2e6f05a032e0ab2148fe39665084e48cba76 100644 --- a/thrones/src/main/java/com/apobates/forum/thrones/App.java +++ b/thrones/src/main/java/com/apobates/forum/thrones/App.java @@ -28,12 +28,10 @@ public class App extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Filter[] getServletFilters() { - DelegatingFilterProxy filterProxy = new DelegatingFilterProxy(); - filterProxy.setTargetBeanName("tokenParamFilter"); - filterProxy.setTargetBeanName("springSessionRepositoryFilter"); return new Filter[]{ + new DelegatingFilterProxy("springSessionRepositoryFilter"), + new DelegatingFilterProxy("tokenParamFilter"), new org.springframework.web.filter.CharacterEncodingFilter("UTF-8", true), - filterProxy, new org.sitemesh.config.ConfigurableSiteMeshFilter()}; } } \ No newline at end of file diff --git a/thrones/src/main/java/com/apobates/forum/thrones/SpringSessionConfig.java b/thrones/src/main/java/com/apobates/forum/thrones/SpringSessionConfig.java index e20071bad4d13c6230de39c0cb8b31002cdc96bb..e16aebd1868904dd9432e1a3c00d927590762275 100644 --- a/thrones/src/main/java/com/apobates/forum/thrones/SpringSessionConfig.java +++ b/thrones/src/main/java/com/apobates/forum/thrones/SpringSessionConfig.java @@ -15,10 +15,31 @@ import org.springframework.session.jdbc.config.annotation.web.http.JdbcHttpSessi @Configuration @EnableJdbcHttpSession public class SpringSessionConfig{ + //@see https://stackoverflow.com/questions/33095345/how-to-change-spring-session-redis-cookie-name + //"SESSION" name is a default set in source of CookieHttpSessionStrategy. + private final static String SP_COOKIE_KEY="SUP-SESSION"; + @Bean public SpringHttpSessionConfiguration init(){ JdbcHttpSessionConfiguration config = new org.springframework.session.jdbc.config.annotation.web.http.JdbcHttpSessionConfiguration(); config.setTableName("spring_session"); return config; } + //@see https://blog.csdn.net/zhu124866/article/details/99698986 + //@see https://docs.spring.io/spring-session/docs/current/reference/html5/guides/java-custom-cookie.html + //Cookie配置 + @Bean + public CookieSerializer cookieSerializer(){ + DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer(); + cookieSerializer.setCookieName(SP_COOKIE_KEY);//sessionId名称 + return cookieSerializer; + } + + //HttpSessionId配置 + @Bean + public HttpSessionIdResolver httpSessionIdResolver(){ + CookieHttpSessionIdResolver cookieHttpSessionIdResolver = new CookieHttpSessionIdResolver(); + cookieHttpSessionIdResolver.setCookieSerializer(cookieSerializer()); + return cookieHttpSessionIdResolver; + } } \ No newline at end of file