| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 컴퓨터 공학
- ORM
- actuator
- spring
- queue
- spring boot
- SpringSecurity
- 연관관계
- 프로그래머스
- Java
- 스프링부트
- TestCode
- error
- QueryDSL
- JPA
- restTemplate
- array
- LinkedList
- 컴퓨터 구조
- 백엔드스쿨
- 자료구조
- 서버
- JWT
- 제로베이스
- 백엔드
- 핵심가이드
- 개발자
- 백엔드공부
- 백준
- SpringBoot
- Today
- Total
목록TestCode (2)
be_better
에러내용 Springboot 2.x버전으로 프로젝트 진행 중 3.x버전으로 변경하게 되었고 SpringSecurity도 6.x 버전으로 Upgrade를 해야하는 상황이었다. Springboot, Security 둘다 버전업을 하고 Postman에서 정상적으로 동작하는것까지 확인했는데, 잘되던 Test Code Controller test에서 말썽이었다. Controller Test중 Body에는 아무값도 들어있지 않고 403 Forbidden이 발생한 상황 원인 Spring Security의 어노테이션인 EnableWebSecurity에는 기본적으로 CSRF 공격을 방지하는 기능을 갖고있다. CSRF(Cross-Site Request Forgery) 공격이란 사이트 간 요청 위조의 줄임말로 웹 애플리케이..
프로젝트 진행중에 유저 정보를 update 하는 api를 unit 테스트 하려는데, header 값으로 넣어줄 jwt accessToken에 대한 유저권한처리가 안돼서 발목을 잡혔다. 해결 SecurityConfig에서 SecurityContext에 유저 권한을 넣어주고 Filter에서 처리하는데 test code를 실행할때도 main module의 SecurityContext를 참조하기 때문에 유저 역할(권한) 처리가 안되는 것이라고 이해했다. 따라서 test module에서 따로 SecurityContext에 필요한 권한을 넣어줘야 한다. 나같은 경우에는 유저 정보 update api는 "USER_VIEWER" 권한을 갖는 유저만 접근할 수 있다. 매번 권한을 설정하는것보다 어노테이션을 만드는게 나아..