๊ธฐ์กด์ ํ๋ ๊ฒ ์ฒ๋ผ http.requestMatchers("/h2-console/**").permitAll() ๋ก h2-console์ ๋ํ ์ ๊ทผ์ ํ์ฉํด์ฃผ๋ ค๊ณ ํ์ง๋ง ๊ณ์ํด์ 403(forbidden) ์๋ฌ๊ฐ ๋ฌ๋ค.
๊ตฌ๊ธ๋ง์ ํตํด ํด๊ฒฐํ ๊ฒฐ๊ณผ
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests()
.requestMatchers("/users/**").permitAll()
.and()
.authorizeHttpRequests(auth -> auth
.requestMatchers(AntPathRequestMatcher.antMatcher("/h2-console/**")).permitAll()
)
.headers(headers -> headers.frameOptions().disable())
.csrf().disable();
return http.build();
}
๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ก ํด๊ฒฐํ ์ ์์๋ค.
๋ฒ์ ์ด ์ ๊ทธ๋ ์ด๋ ๋๋ฉด์ authorizeHttpRequests()๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ ๋์๋๋ฐ Spring MVC๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ authorizeHttpRequests() .requestMatchers ๋ MvcRequestMatcher๋ฅผ ์ฌ์ฉํ๋ค.
ํ์ง๋ง H2 ์ฝ์์ Spring MVC์ ์ํด ์ ์ด๋์ง ์๊ธฐ ๋๋ฌธ์ AntPathRequestMatcher๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
๋ฐ๋ผ์ ์์ ๊ฐ์ด AntPathRequestMatcher ๋ก ๋ณํํด์ ์ ๊ทผ์ ํ์ฉํด์ฃผ์๋ค.
์ฐธ๊ณ
https://github.com/spring-projects/spring-security/issues/12546
'BACKEND > Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring WebFlux์ Programming Models (0) | 2023.02.20 |
---|---|
Spring Actuator ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2023.01.31 |
Kotlin Kotest @beforeSpec @beforeContainer @beforeTest @beforeEach ์ฐจ์ด (2) | 2022.09.19 |
FetchJoin ๊ณผ EntityGraph (0) | 2022.08.21 |
Spring Mockito when().thenReturn ๊ณผ doReturn.when()์ ์ฐจ์ด (0) | 2022.08.01 |