使用Nchan只向已登录的用户发布

我正在使用nchan(https://github.com/slact/nchan)实时事件来设置一个应用程序。应用程序本身建立在Laravel框架上。然而,现在订阅特定子频道的每个人都会在推送到相应的发布频道时立即获得新事件。我想限制只有已登录的用户才能订阅事件。因此,如果我没有登录,就不应该可能创建websocket并从http://www.example.com/chat/pubchat?id=some_id等处监听事件。

有没有办法实现这一点?据我所知,我不能使用Nginx/Nchan来进行数据库查询,以获取只有已登录用户的方式。而Laravel本身无法限制订阅者,因为这是由Nginx/Nchan处理的(但是在另一方面,可以进行数据库查询)。

感谢任何提示!

编辑:似乎我可以使用Drizzle模块(https://github.com/openresty/drizzle-nginx-module)并使用会话ID作为标识符。因此,如果该ID在会话表中不存在,则会阻止连接。

点赞