Я пытаюсь настроить свой пользовательский DefaultCookieSerializer
в весенней сессии, единственное свойство, которое я хочу установить, - sameSite
, и я хочу, чтобы все остальные настройки использовали значение «по умолчанию». Поэтому я прочитал какой-то пост, например this
Вот фрагмент кода:
@Bean
public DefaultCookieSerializer cookieSerializer(){
return new DefaultCookieSerializer();
}
private class CookieSerializerConfigure implements ServletContainerInitializer{
@Override
public void onStartup(Set<Class<?>> set, ServletContext servletContext) throws ServletException {
SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
// about the setting, see:
// https://docs.spring.io/spring-session/docs/current/api/org/springframework/session/web/http/DefaultCookieSerializer.html
// https://github.com/spring-projects/spring-session/issues/87
DefaultCookieSerializer cookieSerializer = cookieSerializer();
cookieSerializer.setUseSecureCookie(sessionCookieConfig.isSecure());
cookieSerializer.setUseHttpOnlyCookie(sessionCookieConfig.isHttpOnly());
cookieSerializer.setCookiePath(sessionCookieConfig.getPath());
cookieSerializer.setCookieName(sessionCookieConfig.getName());
cookieSerializer.setCookieMaxAge(sessionCookieConfig.getMaxAge());
cookieSerializer.setDomainName(sessionCookieConfig.getDomain());
}
}
Будет ли это работать, если я не установлю свойства в реализации ServletContainerInitializer
?
Я знаю, что в application.properties есть некоторые свойства, сопоставляемые с полями SessionCookieConfig
, однако, каково значение по умолчанию SessionCookieConfig
, если я не укажу c это в application.properties и как это установить в приложении Spring Boot?
server.servlet.session.cookie.max-age=something
server.servlet.session.cookie.name=something