로그인 한 사용자 만 Django 채널에서 웹 소켓에 연결하도록 허용하는 방법은 무엇입니까?

Anatol

채팅 앱이 있고 로그인 한 사용자 만 웹 소켓에 연결할 수 있기를 원합니다.

어떻게 이룰 수 있습니까?

@login_requiredDjango 채널 데코레이터 와 같은 것이 있습니까?

문서를 통해 사용자에게 액세스하는 방법을 알고 있습니다.

class ChatConsumer(WebsocketConsumer):

    def connect(self, event):
        self.user = self.scope["user"]

그러나 사용자가 로그인하지 않은 경우 어떻게 연결을 거부합니까?

Anatol

내 질문에 대한 답을 찾았습니다.

# mysite/routing.py

from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
import chat.routing

application = ProtocolTypeRouter({
    # (http->django views is added by default)
    'websocket': AuthMiddlewareStack(
        URLRouter(
            chat.routing.websocket_urlpatterns
        )
    ),
})
class ChatConsumer(WebsocketConsumer):
    def connect(self):
        self.user = self.scope['user']

        if self.user.is_authenticated:
            # accept connection if user is logged in
            self.accept()

        else:
            # don't accept connection if user is not logged in 
            self.close()


이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

특정 사용자 만 Django 채널에서 WebsocketConsumer에 연결하도록 허용하는 방법은 무엇입니까?

분류에서Dev

Django 사용자가 관리자에 로그인하고 새 사용자를 만들 수있는 깨끗한 방법은 무엇입니까?

분류에서Dev

Django 및 Websockets : 동일한 프로세스에서 WSGI와 웹 소켓을 모두 사용하여 효율적인 프로젝트를 만드는 방법은 무엇입니까?

분류에서Dev

사용자가 채널에서 한 번만 말하게하는 방법은 무엇입니까?

분류에서Dev

다른 사람이 내 Django 웹 사이트에 연결하도록 허용하는 방법은 무엇입니까?

분류에서Dev

로그인 한 사용자에게만 결제 수단을 표시하는 방법은 무엇입니까?

분류에서Dev

사용자가 Flask에서 LinkedIn으로 로그인하도록 허용하는 방법은 무엇입니까?

분류에서Dev

사용자가 Java 및 JavaScript를 사용하여 하나의 탭 / 창에만 로그인하도록 제한하는 방법은 무엇입니까?

분류에서Dev

로그인 한 사용자가 telescopeapp에서 읽은 항목을 삭제하도록 허용하는 방법은 무엇입니까?

분류에서Dev

Django의 FileField에서 사용자가 문서 및 pdf 형식 만 업로드하도록 제한하는 방법은 무엇입니까?

분류에서Dev

한 번에 하나의 매트 확장 패널 만 열도록 허용하는 방법은 무엇입니까?

분류에서Dev

인증 된 사용자 만 별도의 nginx에서 허용하는 방법은 무엇입니까?

분류에서Dev

SSH 터널링 만 허용하도록 SSH 사용자를 제한하는 방법은 무엇입니까?

분류에서Dev

JTable에서 한 번에 하나의 행만 선택하도록 허용하는 방법은 무엇입니까?

분류에서Dev

웹 소켓을 사용하여 암호화하지 않고 노드 js에서 기본 인증 시스템을 만드는 방법은 무엇입니까?

분류에서Dev

OAuth 2.0 로그인에 성공한 후 사용자를 Google 웹 페이지에 로그인하는 방법은 무엇입니까?

분류에서Dev

django-taggit에서 허용되는 태그 수를 제한하는 방법은 무엇입니까?

분류에서Dev

루트가 아닌 사용자가 WiFi에 연결하도록 허용하는 방법은 무엇입니까?

분류에서Dev

웹 소켓 만 사용하여 Java 클라이언트를 SignalR Hub에 연결하는 방법은 무엇입니까?

분류에서Dev

사용자가 django allauth에서 계정을 삭제하도록 허용하는 방법은 무엇입니까?

분류에서Dev

고릴라를 사용하여 웹 소켓에 연결하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 소켓으로 다중 사용자 채팅 만들기, 서버 출발을 처리하는 방법은 무엇입니까?

분류에서Dev

사용자가 Loopback에서 자신의 그룹 요소에만 액세스하도록 제한하는 방법은 무엇입니까?

분류에서Dev

로그인 한 사용자를 기반으로 Django Rest Framework Serializer에서 특정 속성을 취소하는 방법은 무엇입니까?

분류에서Dev

로그인 한 사용자 만 표시하는 방법은 무엇입니까?

분류에서Dev

사용자가 PHP에서 사용자 이름과 이메일로 로그인하도록 허용하는 방법은 무엇입니까?

분류에서Dev

django inlineformset, 한 번에 하나의 부울 필드 만 참이되도록 허용하는 방법은 무엇입니까?

분류에서Dev

Django에 등록한 후 처음 로그인하는 경우 사용자를 다른 페이지로 리디렉션하는 방법은 무엇입니까?

분류에서Dev

자동 확장 그룹에 대한 Cloud SQL 연결을 허용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    특정 사용자 만 Django 채널에서 WebsocketConsumer에 연결하도록 허용하는 방법은 무엇입니까?

  2. 2

    Django 사용자가 관리자에 로그인하고 새 사용자를 만들 수있는 깨끗한 방법은 무엇입니까?

  3. 3

    Django 및 Websockets : 동일한 프로세스에서 WSGI와 웹 소켓을 모두 사용하여 효율적인 프로젝트를 만드는 방법은 무엇입니까?

  4. 4

    사용자가 채널에서 한 번만 말하게하는 방법은 무엇입니까?

  5. 5

    다른 사람이 내 Django 웹 사이트에 연결하도록 허용하는 방법은 무엇입니까?

  6. 6

    로그인 한 사용자에게만 결제 수단을 표시하는 방법은 무엇입니까?

  7. 7

    사용자가 Flask에서 LinkedIn으로 로그인하도록 허용하는 방법은 무엇입니까?

  8. 8

    사용자가 Java 및 JavaScript를 사용하여 하나의 탭 / 창에만 로그인하도록 제한하는 방법은 무엇입니까?

  9. 9

    로그인 한 사용자가 telescopeapp에서 읽은 항목을 삭제하도록 허용하는 방법은 무엇입니까?

  10. 10

    Django의 FileField에서 사용자가 문서 및 pdf 형식 만 업로드하도록 제한하는 방법은 무엇입니까?

  11. 11

    한 번에 하나의 매트 확장 패널 만 열도록 허용하는 방법은 무엇입니까?

  12. 12

    인증 된 사용자 만 별도의 nginx에서 허용하는 방법은 무엇입니까?

  13. 13

    SSH 터널링 만 허용하도록 SSH 사용자를 제한하는 방법은 무엇입니까?

  14. 14

    JTable에서 한 번에 하나의 행만 선택하도록 허용하는 방법은 무엇입니까?

  15. 15

    웹 소켓을 사용하여 암호화하지 않고 노드 js에서 기본 인증 시스템을 만드는 방법은 무엇입니까?

  16. 16

    OAuth 2.0 로그인에 성공한 후 사용자를 Google 웹 페이지에 로그인하는 방법은 무엇입니까?

  17. 17

    django-taggit에서 허용되는 태그 수를 제한하는 방법은 무엇입니까?

  18. 18

    루트가 아닌 사용자가 WiFi에 연결하도록 허용하는 방법은 무엇입니까?

  19. 19

    웹 소켓 만 사용하여 Java 클라이언트를 SignalR Hub에 연결하는 방법은 무엇입니까?

  20. 20

    사용자가 django allauth에서 계정을 삭제하도록 허용하는 방법은 무엇입니까?

  21. 21

    고릴라를 사용하여 웹 소켓에 연결하는 방법은 무엇입니까?

  22. 22

    파이썬에서 소켓으로 다중 사용자 채팅 만들기, 서버 출발을 처리하는 방법은 무엇입니까?

  23. 23

    사용자가 Loopback에서 자신의 그룹 요소에만 액세스하도록 제한하는 방법은 무엇입니까?

  24. 24

    로그인 한 사용자를 기반으로 Django Rest Framework Serializer에서 특정 속성을 취소하는 방법은 무엇입니까?

  25. 25

    로그인 한 사용자 만 표시하는 방법은 무엇입니까?

  26. 26

    사용자가 PHP에서 사용자 이름과 이메일로 로그인하도록 허용하는 방법은 무엇입니까?

  27. 27

    django inlineformset, 한 번에 하나의 부울 필드 만 참이되도록 허용하는 방법은 무엇입니까?

  28. 28

    Django에 등록한 후 처음 로그인하는 경우 사용자를 다른 페이지로 리디렉션하는 방법은 무엇입니까?

  29. 29

    자동 확장 그룹에 대한 Cloud SQL 연결을 허용하는 방법은 무엇입니까?

뜨겁다태그

보관