강사님 로그인 요청시 궁금한 점이 있습니다.
292
작성한 질문수 10
POST /login으로 요청시
JwtAuthenticationFilter는 실행되지만
JwtAuthorizationMacFilter는 왜 실행되지 않는 이유가 궁금합니다.
FilterChainProxy에 additionalFilters 목록을 보게 되면, JwtAuthenticationFilter와 JwtAuthorizationFilter가 담겨있고 UsernamePasswordAuthenticationFilter앞에 있는것을 확인할 수 있는데, JwtAuthorizationMacFilter을 넘어가는 이유가 뭔지 궁금합니다
디버깅 중에 왜 안나왔는지 알게되었네요
JwtAuthenticationFilter는 인증 성공후에 doFilter 를 안넘겨서 그 이후 체인이 실행하지 않아 검증 필터가 실행되지 않았습니다.
혹시 체인을 안태운 이유가 가장 마지막 필터인 FilterSecurityInterceptor or AuthorizationFilter 에서 SecurityContextHolder.getContext().getAuthentication 에 null 체크 예외 발생 때문에 일부러 안넘기신건가요??
토큰 인증 필터 성공 이후에 체인 안넘기신 이유가 궁금합니다.
안넘기게 되면 컨트롤러단까지 요청이 안가서 index 페이지가 안나와서
답변 2
0
답변이 늦어 죄송합니다
우선 JwtAuthorizationMacFilter 는 chain.doFilter(request, response) 구문을 실행하고 있습니다.
코드의 맨 마지막 줄에 보시면 구현되어 있습니다.
혹시 소스 코드를 보여 주실 수 있을까요?
0
안녕하세요 hangs0908 님, 인프런 AI 인턴이에요.
JwtAuthenticationFilter 와 JwtAuthorizationFilter가 FilterChainProxy의 additionalFilters 목록에 있음에도 불구하고 JwtAuthorizationFilter가 실행되지 않는 이유에 대해 궁금하신 것 같습니다.
일반적으로 Spring Security의 FilterChain은 요청을 처리할 때, 필터들을 순차적으로 실행하며 이전 필터가 다음 필터로 넘기는 역할을 합니다.
JwtAuthenticationFilter는 인증 성공 후에 doFilter를 호출하지 않아서 그 이후의 필터 체인이 실행되지 않아 JwtAuthorizationFilter까지 도달하지 못한 것으로 보입니다.
아마도 체인을 안 넘기신 이유는 JwtAuthenticationFilter에서 인증이 성공한 경우 SecurityContextHolder에 인증 정보를 저장하고 다음 처리를 스킵하여 추가적인 인증 필터를 거치지 않고 바로 컨트롤러로 넘어가게 하기 위함일 것입니다.
이 과정에서 일부러 체인을 건너뛴 것으로 보입니다.
따라서 JwtAuthenticationFilter에서 인증이 성공하고 나서 체인을 넘기지 않은 이유는, 컨트롤러로 요청을 전달하여 index 페이지가 올바르게 나올 수 있도록 하는 것일 것입니다.
정확한 이유에 대해서는 코드의 구현 및 개발자의 의도에 따라 다를 수 있으므로, 해당 프로젝트의 구현 상황을 확인하시는 것이 가장 정확한 답변을 얻으실 수 있을 것입니다. 감사합니다!
authorization-server 라이브러리 질문이 있습니다.
0
75
1
loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생
0
76
2
JWT 조회 에 대한 질문
0
70
1
password grant 방식 에러 응답
0
88
3
FormLoginConfigure에서 생성하는 필터
0
77
2
현업에서 springboot를 3.5.5 를 사용해서 공부중인데...
0
282
2
Jdbc 관련 강의 및 깃헙 문의
0
77
1
OAuth2AuthorizedClient 이해 및 활용 강의 내용 질문
0
208
1
UserInfo 엔드포인트 요청 실습
0
74
1
RFC 문서에서의 AccessToken 발급 방식 궁금한점
0
150
1
강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁드려요
0
139
2
OIDC SSO 관련 질문 입니다.
0
130
1
AuthenticationEntryPoint 강의 누락 문의
0
122
1
cors설정방법
0
115
1
jwt decoder 토큰 검증 시 질문
0
221
1
클라이언트에서 userinfo 엔드포인트 호출 시 질문
0
185
2
JOSE 구성요소의 api에 관한 질문
0
140
2
스프링 부트 3버전으로 따라가시는 분들 참고하세요
1
529
1
CustomOAuth2AuthenticationFilter 구현 중 질문
0
145
2
AuthenticationManager 생성시점
0
117
1
FormLogin과 Oauth2Client 둘 중 사용하는 시점
0
127
1
postman userinfo 엔드포인트 질문
0
135
2
강의 수강신청하고 듣기 전입니다 질문있습니다.
0
113
1
인증 코드를 통해 발급 받은 토큰의 관리
0
198
1





