세션이 종료되는데 이유를 찾지 못하겠습니다..
252
작성한 질문수 32
채팅방 목록 메뉴에서 참여하기를 눌렀을때
connect sessiond IDnubkqe0a
total session1
subscribe 검증
sub 토큰 검증 완료
Destination: /topic/1
roomId: 1
Hibernate: select cr1_0.id,cr1_0.created_time,cr1_0.is_group_chat,cr1_0.name,cr1_0.updated_time from chat_room cr1_0 where cr1_0.id=?
disconnect sessiond IDnubkqe0a
total session0
서버에서 세션 종료 감지: nubkqe0a
세션이 자동으로 종료됩니다..
당연히 채팅 메세지도 화면에 안나오는데
토큰 검증은 StompWebSocketConfig 에서 다 되는 것 같은데... 잘모르겠습니다
의심가는 로직이 있으신가요 ?
답변 4
0
아래 참새님이 코드 올려주신것처럼,
웹소켓에서는 Authentication객체를 일반 http요청처럼 만들지를 않기 때문에 Authentication객체에서 email정보를 꺼내면 에러가 발생할것으로 보입니다~!
0
저도 security context에서 email 정보 가져오는 method를 그대로 사용했다가
subscribe할 때 session이 끊기는 동일한 오류가 발생 했는데요
security context에서 email 정보를 가져올 때는
http 통신을 사용할 때만 사용자 정보가 유지되기 때문에
websocket 통신에서 사용자 정보를 가져와 인증을 시도하면 문제가 발생하는 건가요?
0
다시 회원가입하고 로그인하고 해도 토큰 인증까지 다 마친뒤에 세션이 끊겨버리네요 ㅠㅠ
0
안녕하세요, 인프런 AI 인턴입니다. 열심인 참새님.
세션이 자동으로 종료되는 문제에 대해 여러 가지 원인이 있을 수 있습니다. WebSocket 세션이 예상치 못하게 종료되는 경우는 주로 아래와 같은 상황에서 발생할 수 있습니다.
네트워크 연결 불안정: 클라이언트와 서버 간의 네트워크 연결이 불안정할 경우, WebSocket 세션이 끊길 수 있습니다. 이때는 클라이언트 측의 네트워크 상태를 점검해 보는 것이 중요합니다.
서버 설정: 서버가 일정 시간 동안 아무 동작이 없는 세션을 자동으로 종료하도록 설정되어 있는 경우입니다. 만약 Spring Boot를 사용하고 계시다면,
WebSocket설정을 확인하여 타임아웃 설정이 어떻게 되어 있는지 살펴보시기 바랍니다.클라이언트 코드 확인: JS 클라이언트에서 WebSocket 연결이 유지되지 않아서 세션이 종료될 수 있습니다. 클라이언트 단의 코드가
WebSocket연결을 유지하기 위해 지속적으로 핑을 보내고 있는지 확인해 보세요.보안 설정: 서버의 보안 설정으로 인해 일정 조건이 충족되지 않았을 경우, 세션이 종료될 수 있습니다. 예를 들어, 세션 유효성 또는 인증 토큰이 만료된 경우입니다. 토큰 갱신을 포함한 인증 절차가 제대로 되고 있는지 확인하세요.
로그 확인: 서버 로그를 확인하여 세션 종료와 관련한 구체적인 에러 메시지가 있는지 확인합니다. 로그는 문제 해결의 실마리를 제공할 수 있습니다.
관련하여 유사한 해결 방안을 다룬 질문들을 참고해 보시면 도움이 될 것입니다:
- Spring 웹소켓에서의 연결 끊김 문제 해결 - 연결 유지 및 세션 종료 문제 해결에 대한 팁
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ERD 질문
0
54
2
StompHandler 관한 질문
0
80
2
리프레시 토큰은 알아서 구현하면 되는건가요??
0
79
2
cors, csrf 직접 구현
0
65
1
JWT 필터구현
0
98
2
강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?
0
57
1
STOMP 동작 과정 질문
0
48
1
chain.doFilter()
0
45
1
자바 21로 소스 작성해도 되나요?
0
60
2
메시지 브로커 선택에 관한 질문
0
65
2
WebSocket과 Spring Security 질문
0
81
2
추가 커스텀 구현 질문 있습니다.
0
60
2
connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?
0
97
2
저도 동일한 질문인데
0
78
3
token이 필요한 엔드포인트에 의도적으로 토큰 누락시 대처
0
67
2
수업자료가 왜 다 나눠져있나요?
0
78
2
메시지 전송 시 검증
0
61
2
JWT 생성 시 subject 설정에 대한 질문
0
158
3
StompHandler 질문 있습니다.
0
82
2
앱 서비스일 경우
0
84
2
웹소켓 서버 재배포시 고려해야 할 상황 질문
0
107
2
배포 오류 질문
0
124
2
/connect 경로에 대한 토큰 검증의 필요성
0
77
1
JwtTokenProvider 작성중 오류 발생으로 문의드립니다.
0
97
2






