임베디드 서버의 스프링 부트 구성 커스텀 jsessionid
커스텀 jsessionId 키 설정 등 서블릿 컨텍스트를 설정하고 싶다(쿠키 JSESSIONID 이름 변경 참조).
이 기능을 사용할 수 있습니다.SpringBootServletInitializer
WAR 파일 실행 시, 조작servletContext
에onStartup()
단, 임베디드 어플리케이션서버에서 실행할 경우new SpringApplicationBuilder().run()
servlet 콘텍스트를 조작하기 위한 최적의 장소를 모릅니다.
Spring Boot 1.3에서는 설정 속성을 간단하게 설정할 수 있습니다.
스프링 부트 1.3, 1.4, 1.5
server.session.cookie.name = MYSESSIONID
스프링 부트 2.x
server.servlet.session.cookie.name = MYSESSIONID
컨피규레이션클래스를 쓰는 것보다 훨씬 간단합니다.
세션 관련 속성에 대한 자세한 내용은 https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html 를 참조하십시오.
선언하다ServletContextInitializer
bean을 어플리케이션 구성으로 설정합니다.
@Bean
public ServletContextInitializer servletContextInitializer() {
return new ServletContextInitializer() {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.getSessionCookieConfig().setName("yourCookieName");
}
};
}
또는 응용 프로그램클래스 자체를 구현할 수도 있습니다.ServletContextInitializer
:
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application implements ServletContextInitializer {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.getSessionCookieConfig().setName("yourCookieName");
}
}
spring session을 사용하면 쿠키 이름을 변경할 수 있습니다.
@Bean
public DefaultCookieSerializer defaultCookieSerializer(){
DefaultCookieSerializer defaultCookieSerializer = new DefaultCookieSerializer();
defaultCookieSerializer.setCookieName("mySessionId");
return defaultCookieSerializer;
}
나는 이것을 봄 세션 소스에서 발견한다.
spring-1.2.1.RELEASE-sources.jar!/org/springframework/session/config/notation/web/http/SpringHttp Session 설정.자바
@Autowired(required = false)
public void setCookieSerializer(CookieSerializer cookieSerializer) {
this.defaultHttpSessionStrategy.setCookieSerializer(cookieSerializer);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER).and()
.csrf().disable();
}
URL에서 jsession ID를 제거하므로 시도할 수 있습니다.
언급URL : https://stackoverflow.com/questions/25918556/spring-boot-configure-custom-jsessionid-for-embedded-server
'programing' 카테고리의 다른 글
Jackson의 역직렬화는 @Json Unwraped와 동등합니까? (0) | 2023.02.26 |
---|---|
리액트 훅을 사용하여 소품을 상태와 동기화하는 방법: setState() (0) | 2023.02.26 |
WooCommerce API를 사용하여 국가/주 목록 가져오기 (0) | 2023.02.26 |
변수를 사용하여 bash 스크립트에 JSON을 직접 저장하시겠습니까? (0) | 2023.02.26 |
htaccess에서의 Wordpress 및 CI 개서 규칙 (0) | 2023.02.26 |