我正在使用Django频道构建聊天应用。现在,该应用程序允许用户观看任何聊天室,如果他们知道他们的网址。
我想限制访问每个聊天室,除了某两个人。 如何在Django频道上实现这一点? 我如何只允许某些用户访问Django应用程序上的URL?
我的聊天应用中的聊天室网址正在关注。
答案 0 :(得分:0)
在Django应用程序(暂时没有频道)中,您要做的是首先执行身份验证(例如使用login_required装饰器),然后检查request.user
是否有任何您想要满足的条件。有很多方法可以实现这一点,但我想我所描述的是最简单的方法。
对于Django频道,你必须做一些相似的事情。为了举个例子,我们假设你使用的是WebSockets
。您可以做的是设置一个在每个订阅者中发送的令牌'请求,然后将该令牌映射到用户。如果映射满足您的所有条件(是映射到可以访问端点的用户之一的有效令牌),则将它们添加到组中,否则不会。 Here是您可以使用的JWT令牌的指南。