WebSocket과 Spring Security 질문
81
4 asked
WebSocket 연결이 처음 http요청으로 시작하기 때문에 필터 체인이 요청을 가로챈다.
따라서 /connect를 permitAll()로 풀어줘야 400에러가 안난다.
로 이해했는데 맞을까요?
Answer 2
0
맞습니다. filterchain은 http요청에 대한 인증처리를 하므로, 웹소켓 커넥트 요청의 경우에는 http요청이 아니기에 처리가 불가합니다. 그래서 모든 연결요청을 permit으로 풀어주고 웹소켓 핸들러에서 인증처리를합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 효상님.
질문해 주신 WebSocket과 Spring Security 내의 필터 체인에 관한 내용을 설명드리겠습니다.
WebSocket 연결 초기화:
- WebSocket은 초기 연결 과정에서 HTTP 요청을 사용하여 서버와의 연결을 정립합니다. 이 과정에서 HTTP 프로토콜의 일환으로 서버와 “웹소켓 핸드셰이크”를 진행하게 됩니다.
- 이러한 초기 HTTP 요청은 Spring Security의 필터 체인에 의해 가로채질 수 있습니다.
- WebSocket은 초기 연결 과정에서 HTTP 요청을 사용하여 서버와의 연결을 정립합니다. 이 과정에서 HTTP 프로토콜의 일환으로 서버와 “웹소켓 핸드셰이크”를 진행하게 됩니다.
Spring Security에서의 필터 제어:
- Spring Security에서는 특정 URL 패턴에 대해 접근 제어를 설정할 수 있습니다.
/connect와 같은 WebSocket을 위한 특정 URL에 대해permitAll()을 설정하여, 인증 없이도 접근이 가능하게 설정할 수 있습니다.
- 이를 통해 특정 WebSocket 엔드포인트에 대한 요청이 필터 체인에 의해 거부되지 않고 올바르게 진행될 수 있습니다.
- Spring Security에서는 특정 URL 패턴에 대해 접근 제어를 설정할 수 있습니다.
오류 처리:
- 만약 자동으로 이 경로에 대한 접근이 허용되지 않으면, 400 Bad Request 오류가 발생할 수 있습니다. 이는 특정 리소스에 대한 잘못된 요청이나 접근이 차단된 경우에 발생합니다.
- 만약 자동으로 이 경로에 대한 접근이 허용되지 않으면, 400 Bad Request 오류가 발생할 수 있습니다. 이는 특정 리소스에 대한 잘못된 요청이나 접근이 차단된 경우에 발생합니다.
따라서, WebSocket 연결 시 외부로부터의 접근을 초기화하기 위해 /connect 경로에 대해 permitAll()을 설정하는 것은 적절한 방법입니다.
관련하여 추가로 도움이 될 수 있는 자료를 아래 링크에서 찾아볼 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ERD 질문
0
55
2
StompHandler 관한 질문
0
80
2
리프레시 토큰은 알아서 구현하면 되는건가요??
0
81
2
cors, csrf 직접 구현
0
65
1
JWT 필터구현
0
101
2
강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?
0
58
1
STOMP 동작 과정 질문
0
48
1
chain.doFilter()
0
45
1
자바 21로 소스 작성해도 되나요?
0
61
2
메시지 브로커 선택에 관한 질문
0
65
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
132
1

