[SPRING] 스프링 부트를 만드는 방법은 세션 쿠키를 발행하지 않으십니까?
SPRING스프링 부트를 만드는 방법은 세션 쿠키를 발행하지 않으십니까?
스프링 부트를 사용하여 안정적인 API 서버를 개발하고 있습니다. 다음과 같이 기본 인증을 사용하도록 프로젝트를 구성했습니다.
@ComponentScan
@EnableAutoConfiguration
@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(HttpSecurity http) throws Exception {
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER).and()
.csrf().disable()
.authorizeRequests().anyRequest().hasRole("USER").and()
.httpBasic();
}
...
}
그러나 Chrome-Postman-Plugin으로 API를 테스트 한 결과 첫 번째 호출 후 서버에 사용자 자격 증명이 필요하지 않습니다. 그리고 'JSESSIONID'쿠키가 생성 된 것을 확인했습니다.
내 프로젝트에는 다른 보안 구성이 없습니다. 왜 이런 일이 일어 났는지 궁금해.
해결법
-
==============================
1.SessionCreationPolicy.STATELESS를 사용해 보셨습니까? 스프링 문서에는 STATELESS와 NEVER의 미묘한 차이가 있습니다.
SessionCreationPolicy.STATELESS를 사용해 보셨습니까? 스프링 문서에는 STATELESS와 NEVER의 미묘한 차이가 있습니다.
STATELESS : Spring Security는 결코 HttpSession을 생성하지 않으며 SecurityContext를 얻기 위해 HttpSession을 사용하지 않습니다.
절대 : Spring Security는 결코 HttpSession을 생성하지 않을 것이지만 이미 존재한다면 HttpSession을 사용할 것입니다.
그래서 모든 쿠키를 지우고 STATELESS로 전환 한 다음 다시 시도하십시오. NEVER로 바꿀 때 이미 HttpSession을 가졌을 수 있습니다.
from https://stackoverflow.com/questions/26387003/how-to-make-spring-boot-never-issue-session-cookie by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 모든 SpringBeans와 ApplicationContext가 초기화 된 후에 메소드 호출하기 (0) | 2019.02.22 |
---|---|
[SPRING] Jetty의 Spring 애플리케이션에서 jsessionid 쿠키 경로를 서버 루트로 변경하는 방법은 무엇입니까? (0) | 2019.02.22 |
[SPRING] ServletContext를 Autowire 할 수 없습니다. (0) | 2019.02.22 |
[SPRING] Maven을 사용하지 않고 Spring Framework jar를 어디에서 다운로드 할 수 있습니까? (0) | 2019.02.22 |
[SPRING] MQueue 리스너를 중지 할 수 없습니다. (0) | 2019.02.22 |