티스토리 뷰
SpringBoot 2.x버전 --> SpringBoot 3.x버전 으로 올라옴에 따라 .authorizeRequests()가 depreciated되었습니다.
SpringBoot 2.x버전
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
return httpSecurity
.httpBasic().disable()
.csrf().disable()
.cors().and()
.authorizeRequests()
//user 목록 admin만 가져올 수 있음
.antMatchers(HttpMethod.GET, "/users").hasAuthority(Role.ADMIN.name())
//task 등록 admin만 가능
.antMatchers(HttpMethod.GET, "/tasks/write").hasAuthority(Role.ADMIN.name())
.antMatchers(HttpMethod.POST, "/api/v1/tasks").hasAuthority(Role.ADMIN.name())
.antMatchers(HttpMethod.DELETE, "/api/v1/tasks").hasAuthority(Role.ADMIN.name())
.antMatchers(HttpMethod.PUT, "/api/v1/tasks").hasAuthority(Role.ADMIN.name())
.authorizeRequests가 .authorizeHttpRequests로 바뀌었고
.antMatchers()가 .requestMatchers()로 바뀌었습니다.
SpringBoot 3.x버전
.build()대신 .getOrBuild() 를 써야 합니다.
참고
@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class SecurityConfig {
private final UserService userService;
@Value("${jwt.token.secret}")
private String secretKey;
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
return httpSecurity
.httpBasic().disable()
// 토큰을 사용하기 때문에 csrf 설정 disable
.csrf(csrf -> csrf.disable())
.cors().and()
.authorizeHttpRequests(requests -> requests
.requestMatchers("/api/v1/users/join", "/api/v1/users/login").permitAll()
.requestMatchers(HttpMethod.POST, "/api/v1/posts/*").permitAll()
.requestMatchers(HttpMethod.GET,"/api/v1/hello/api-auth-test").authenticated()
.anyRequest().authenticated())
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.exceptionHandling()
.authenticationEntryPoint(new CustomAuthenticationEntryPoint())
.and()
.addFilterBefore(new JwtTokenFilter(userService, secretKey), UsernamePasswordAuthenticationFilter.class)
.getOrBuild();
}
}
728x90
'Spring > Spring Boot(스프링 부트)' 카테고리의 다른 글
Thymeleaf에서 롤에 따른 ui (0) | 2023.02.21 |
---|---|
SpringBoot 3.x로 마이그레이션 이슈 (1) | 2023.01.19 |
SpringBoot Intellij에서 Environment Variable을 application.yml에 넣기 (0) | 2023.01.05 |
H2를 이용해 테스트 하기 (0) | 2023.01.05 |
@WebMvcTest로 Controller테스트 하기 (0) | 2022.12.28 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- docker container tissue
- vim
- Sh
- Linux
- 이직
- docker container tissue box
- 개발자
- 도커티슈박스
- docker container case
- 도커컨테이너
- 도커각티슈케이스
- 도커각티슈박스
- docker container whale
- 2017 티스토리 결산
- shellscript
- 싱가폴
- docker container
- 도커티슈케이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함