Spring Security 의존성을 추가하기만 했는데
기존에 인증 없이도 동작하던 endpoint에 요청을 하기만 해도
Default Login Page로 리다이렉션이 된다.
Spring Security라는 Dependency를 build.gradle 혹은 pom.xml에 추가하기만 해도
Spring boot의 자동 구성 기능(Auto-configuration) 기능에 의하여
Defualt Security Filter Chain이 자동으로 등록이 되는데,
이 Filter Chain이 등록되며 웹의 동작에 영향을 미치기 때문이다.
프로젝트에서 Shift를 두 번 누르고
SpringBootWebSecurityConfiguration을 입력해 검색하자.
그러면 다음 코드를 보게 될 것이다.
@Configuration(proxyBeanMethods = false)
@ConditionalOnDefaultWebSecurity
static class SecurityFilterChainConfiguration {
@Bean
@Order(SecurityProperties.BASIC_AUTH_ORDER)
SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests((requests) -> requests.anyRequest().authenticated());
http.formLogin(withDefaults());
http.httpBasic(withDefaults());
return http.build();
}
}
바로 이 Filter Chain이 WAS 앞단에 추가되며
각종 Request에 대한 검증과정이 들어가는 것이다.
기본적으로, 모든 요청을 캡쳐한 후 인증 되었는지 확인하고,
인증되지 않았다면 인증을 요구하는 로직이 메소드의 첫 라인에 포함되어 있다.
이 코드로 인해 제목에서 설명한 바와 같은 현상이 발생하는 것이다.
'Back-End > Spring' 카테고리의 다른 글
[디버깅] Spring Security 사용 중 템플릿에 CSS가 적용되지 않는 현상 (0) | 2024.07.18 |
---|---|
[디버깅] Maven으로 빌드한 스프링부트 프로젝트에서 템플릿 파일 인식 (0) | 2024.07.18 |
데이터베이스의 엔티티(Entity)에 대한 고찰, 그리고 JPA의 @Entity 어노테이션 (0) | 2024.04.12 |
상황을 통해 이해하는 JPA 영속성 전이 및 CASCADE 옵션 (0) | 2024.04.10 |
Spring Data JPA에서의 Transaction 및 수정 작업 (0) | 2024.04.09 |