| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- math
- 자바문법
- ArrayList
- string
- java테스트
- 인텔리제이
- 단위테스트
- SpringBoot
- 정규식
- 스프링부트
- junit
- CSS
- input
- junit5
- Visual Studio Code
- Array
- js
- Java
- javascript
- 배열
- Eclipse
- 자바
- vscode
- 자바스크립트
- 문자열
- IntelliJ
- html
- list
- HashMap
- 테스트자동화
- Today
- Total
목록2026/02/24 (2)
어제 오늘 내일
사실 실무에서는 "토큰이 만료되었는지", "서명이 위조되었는지", "형식이 잘못되었는지"를 구분해서 프론트엔드에게 알려줘야 할 때가 많습니다. (예: 만료면 재발급 요청, 위조면 강제 로그아웃 등)하지만 기존 코드처럼 JwtTokenProvider에서 예외를 try-catch에서 false만 반환하면, 구체적인 이유를 알 수 없게 되죠.이를 해결하기 위해 1. Provider가 예외를 던지게 수정하고, 2. 앞단 필터(ExceptionHandlerFilter)가 이를 잡아서 처리하는 완벽한 구조를 만들어 봅시다.스프링 시큐리티를 쓰다 보면 당황스러운 점이 하나 있습니다."왜 @ControllerAdvice가 JWT 예외를 못 잡지?"이유는 간단합니다. 필터(Filter)는 컨트롤러보다 먼저 실행되기 때문..
Spring Security를 사용할 때 가장 많이 겪는 혼란 중 하나가 "왜 @ControllerAdvice나 @ExceptionHandler가 작동하지 않지?" 입니다.이유는 간단합니다.필터(Filter)는 컨트롤러(Controller)보다 앞단에서 실행되기 때문입니다.토큰 검증 단계에서 에러가 나면 컨트롤러까지 가지도 못하고 필터에서 튕겨 나가기 때문에, 우리가 평소에 쓰던 예외 처리 방식이 통하지 않습니다.Spring Security에서는 이 문제를 해결하기 위해 AuthenticationEntryPoint (인증 실패)와 AccessDeniedHandler (권한 실패)라는 두 가지 인터페이스를 제공합니다. 1. 문제 상황현재 상태에서:로그인 안 하고(토큰 없이) /members/test 접근 ..
