해결됨
Spring Boot JWT Tutorial
MSA @PreAuthorize
안녕하세요. 선생님의 강의를 듣고 MSA에 JWT 기반 인증 인가 서비스를 구현 중입니다.
구현 중에 Auth Server를 분리하면서 다른 리소스 서버에서 @PreAuthorize로 메소드 단위 권한 인가를 구현하며 유추한 내용이 맞는지 확인차 질문 드립니다.
제가 생각한 @PreAuthorize의 동작 메커니즘은 아래와 같습니다.
JwtFilter 클래스에서 Override하여 구현한 doFilter는 매 서블릿 요청마다 작동됩니다.
그리고 doFilter에서 UsernamePasswordAuthentication 객체를 SecurityContextHolder에 저장합니다.
@PreAuthorize를 코멘트한 메소드에서는 SecurityContextHolder에 저장된 내용을 기반으로 권한을 체크합니다.
여기까지가 제가 유추한 내용인데요. 틀린 부분이 있으면 첨언 부탁드립니다.
그리고 위와 같은 방법 외에 MSA처럼 Auth Server를 분리한다던가 또는 ScaleOut된 서비스와 같이 분리된 아키텍처에서 권한인가하는 효율적인 방법이 또 있을까요?