인프런 커뮤니티 질문&답변

boombomi8133님의 프로필 이미지

작성한 질문수

파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편

로그인 유저만 채팅방 참여 허용

구독 채팅 구현

24.07.12 16:55 작성

·

83

0

 우선 좋은 강의 감사합니다! 핵심만 빠르게 알려주셔서 도움이 많이 되는 강의라고 생각합니다. 다른 강의도 꼭 들어보려구요 🙂

현재 프로젝트에서 특정 인물에게 구독한 유저들만 특정인물과 채팅을 나눌 수 있는 기능을 구현중에 있습니다! 이런 기능 역시, 미들웨어를 사용하여 scope에 관련 값을 담아서 처리하면 될까요?

기능 구현 전에 선생님 강의를 통해 공부하고 있고, 시작 전 대략적으로 구상하는 단계여서 질문이 애매할 수 있는 점 양해 부탁드립니다

답변 1

1

이진석님의 프로필 이미지
이진석
지식공유자

2024. 07. 14. 01:02

안녕하세요. :-)

channels에서 기본 제공하는 AuthMiddlewareStack 미들웨어를 적용하시면, 현재 로그인 User 인스턴스를 scops["user"] 를 통해 조회하실 수 있구요.

특정 인물과 채팅을 나누는 페이지에 유저가 접속했을 때,

  • 해당 장고 View에서 해당 인물과의 구독 여부를 확인하시어, 구독 상태가 아니라면 페이지 응답을 거부하시구요.

  • 추가로, 해당 웹소켓 요청에서도 해당 인물과의 구독 여부를 확인하시어, 구독 상태가 아니라면 웹소켓 접속 요청을 거부토록 구현하실 수 있으시겠습니다.

     

살펴보시고, 추가로 질문 남겨주세요.

화이팅입니다. :-)