작성
·
103
0
우선 좋은 강의 감사합니다! 핵심만 빠르게 알려주셔서 도움이 많이 되는 강의라고 생각합니다. 다른 강의도 꼭 들어보려구요 🙂
현재 프로젝트에서 특정 인물에게 구독한 유저들만 특정인물과 채팅을 나눌 수 있는 기능을 구현중에 있습니다! 이런 기능 역시, 미들웨어를 사용하여 scope에 관련 값을 담아서 처리하면 될까요?
기능 구현 전에 선생님 강의를 통해 공부하고 있고, 시작 전 대략적으로 구상하는 단계여서 질문이 애매할 수 있는 점 양해 부탁드립니다
답변 1
1
안녕하세요. :-)
channels에서 기본 제공하는 AuthMiddlewareStack 미들웨어를 적용하시면, 현재 로그인 User 인스턴스를 scops["user"] 를 통해 조회하실 수 있구요.
특정 인물과 채팅을 나누는 페이지에 유저가 접속했을 때,
해당 장고 View에서 해당 인물과의 구독 여부를 확인하시어, 구독 상태가 아니라면 페이지 응답을 거부하시구요.
추가로, 해당 웹소켓 요청에서도 해당 인물과의 구독 여부를 확인하시어, 구독 상태가 아니라면 웹소켓 접속 요청을 거부토록 구현하실 수 있으시겠습니다.
살펴보시고, 추가로 질문 남겨주세요.
화이팅입니다. :-)