์ํฉ
๊ธฐ์กด Spring Security 5.x ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ ํด์ Spring Security 6.1 ๋ฒ์ ์ผ๋ก ์๋กญ๊ฒ ๋น๋ํ์ต๋๋ค. ๋ณ๋ ์๋ฌ๋ ์์์ผ๋ ๊ธฐ์กด์ ๋ชป ๋ดค๋ ์ด์ํ continue ํ๋ผ๋ฏธํฐ๊ฐ ๋ถ์ด ์์ต๋๋ค.
์์ธ
๊ณต์ docs์์ ์ ์ ์์์ต๋๋ค. Spring Security 5.x ๋ฒ์ ์์๋ ๋ชจ๋ ์์ฒญ์ โโ๋ํด ๊ธฐ๋ณธ๊ฐ์ด null์ด๋ค ๋ณด๋ ์์ ์ฑ ์ธก๋ฉด์์ ์ข์ง ๋ชปํ๊ณ ํ๋จํ์ฌ 6.x ๋ฒ์ ์์๋ ๊ธฐ๋ณธ๊ฐ์ continue๋ก ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ๋ผ๋ฏธํฐ๊ฐ ์๊ธด๋ค๊ณ ํฉ๋๋ค.
์๋ ์ฝ๋๋ฅผ ํตํด ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ ์ํ ์ ์์ต๋๋ค.
HttpSessionRequestCache requestCache = new HttpSessionRequestCache();
requestCache.setMatchingRequestParameterName(null);
์ ๋ชฉ์์ ๋ณด๋ค์ํผ ์ต์ ํ ๋ชฉ์ ์ผ๋ก ๋ณ๊ฒฝ๋ ์ฌํญ์ด๋ฏ๋ก 5.x ๋ฒ์ ์์๋ 6.x ๋ฒ์ ์ฒ๋ผ ํ๋ผ๋ฏธํฐ๋ฅผ continue๋ก ๋ณ๊ฒฝ๋ ๊ฐ๋ฅํฉ๋๋ค.
HttpSessionRequestCache requestCache = new HttpSessionRequestCache();
requestCache.setMatchingRequestParameterName("continue");
ํด๊ฒฐ
๊ธฐ์กด ์ฝ๋
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return http
.authorizeRequests()
.requestMatchers(new AntPathRequestMatcher("/login"),
new AntPathRequestMatcher("/signup"),
new AntPathRequestMatcher("/user")).permitAll()
.anyRequest().authenticated()
.and()
...
}
๋ณ๋ ์ค์ ์์ด continue ํ๋ผ๋ฏธํฐ๊ฐ ์๊ธฐ๋ฏ๋ก ์ด ํ๋ผ๋ฏธํฐ๋ฅผ null๋ก ๋ฐ๊ฟ์ url์ ๊น๋ํ๊ฒ ๋ง๋ค์ด์ค๋๋ค.
์์ ํ ์ฝ๋
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
HttpSessionRequestCache requestCache = new HttpSessionRequestCache();
requestCache.setMatchingRequestParameterName(null);
return http
.authorizeRequests()
.requestMatchers(new AntPathRequestMatcher("/login"),
new AntPathRequestMatcher("/signup"),
new AntPathRequestMatcher("/user")).permitAll()
.anyRequest().authenticated()
.and()
...
}