inflearn logo
강의

講義

知識共有

Websocket/STOMP チャット サービス (spring、vue、redis)

JWTトークン検証

JWT 필터구현

101

SunJ

投稿した質問数 1

0

안녕하세요

Jwt필터를 GenericFilterBean 대신 OncePerRequestFilter를 상속 받고

OncePerRequestFiltershouldNotFilter 메서드를 구현하여 JWT 검증을 제외할 특정 경로를 추가 한다면

스프링 시큐리티의 설정( requestMatcher().permitAll())과 중복되는 기능일까요?

spring-boot

回答 2

0

bradkim

안녕하세요~!

 

말씀해주신 질문의 요지가 GenericFilter와 OncePerRequestFilter 를 상속받는 방식에 있어서, 웹소켓 요청 관련하여 인증처리의 차이를 낳을수 있냐로 이해해도 될까요?

 

그 질문이 맞다면, 두 필터 방식중 어떤걸 사용한다 하더라도, 웹소켓 관련 모든 요청의 경우에는 permitAll로 흘려 보내고 StompHandler에서 인증처리하는게 옳습니다. 즉, 현재 코드와 동일한 방식으로 코딩해야 한다고 이해하시면 될것 같습니다.

 

 

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. SunJ님.

질문해주신 내용은 Spring Security에서의 필터링 및 인증 설정에 관한 것입니다. 먼저 OncePerRequestFilterGenericFilterBean의 차이점을 간략히 설명드리겠습니다.

  • OncePerRequestFilter: 이 필터는 요청 당 한 번만 실행되도록 보장합니다. 이는 특히 요청이 한 번 이상 필터 체인을 통과할 수 있는 상황에서 유용할 수 있습니다.

  • GenericFilterBean: 기본적인 필터의 구현을 제공하며, 여러 요청에 대해 동일한 작업을 반복적으로 수행합니다.

질문에서 언급하신 shouldNotFilter 메서드를 통해 특정 경로에 대한 JWT 검증을 제외할 수 있습니다. 이는 Spring Security 설정의 requestMatcher().permitAll()과 비슷한 기능을 하게 됩니다. 두 방법 모두 특정 경로에 대한 인증 및 인가 절차를 생략하기 위해 사용될 수 있으나, 사용 방법과 적용되는 문맥에서 차이가 있습니다.

  • shouldNotFilter 사용: 특정 필터가 실행되지 않도록 조건을 정의할 수 있으며, 보다 필터 단위의 세밀한 제어가 가능합니다.

  • requestMatcher().permitAll() 사용: Spring Security의 설정에서 특정 경로에 대한 접근 허용을 선언적으로 설정합니다. 이는 보기에 더 개관적이며 웬만한 경우에 기본적인 요구는 충족시킵니다.

결론적으로, 두 방법은 중복된 기능을 하는 것은 아니지만, 비슷한 목적을 달성할 수 있습니다. 필터 레벨에서의 제외 설정은 보다 세부적이고 세밀한 제어를 가능하게 하며, Spring Security 설정에서의 접근 제한은 보안 정책에 대한 전반적인 설정을 처리하는 데 유용합니다.

유사한 주제에 대한 추가적인 내용을 확인하시려면 다음 답변을 참고할 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ERD 질문

0

55

2

StompHandler 관한 질문

0

80

2

리프레시 토큰은 알아서 구현하면 되는건가요??

0

81

2

cors, csrf 직접 구현

0

65

1

강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?

0

58

1

STOMP 동작 과정 질문

0

48

1

chain.doFilter()

0

45

1

자바 21로 소스 작성해도 되나요?

0

61

2

메시지 브로커 선택에 관한 질문

0

65

2

WebSocket과 Spring Security 질문

0

81

2

추가 커스텀 구현 질문 있습니다.

0

61

2

connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?

0

97

2

저도 동일한 질문인데

0

79

3

token이 필요한 엔드포인트에 의도적으로 토큰 누락시 대처

0

68

2

수업자료가 왜 다 나눠져있나요?

0

78

2

메시지 전송 시 검증

0

61

2

JWT 생성 시 subject 설정에 대한 질문

0

158

3

StompHandler 질문 있습니다.

0

82

2

앱 서비스일 경우

0

85

2

웹소켓 서버 재배포시 고려해야 할 상황 질문

0

110

2

배포 오류 질문

0

125

2

/connect 경로에 대한 토큰 검증의 필요성

0

78

1

JwtTokenProvider 작성중 오류 발생으로 문의드립니다.

0

98

2

수강료가 갑자기 인상됬던데 ㅠ

0

133

1