laravel - Laravel 广播/WebSockets:如何只为经过身份验证/登录的用户运行?
问题描述
所以我希望广播功能只对登录的用户可用,因为我使用Laravel WebSockets(所以我自己托管广播服务)并且我希望它是可扩展的。
目前,每个访问我网站的用户都会自动连接到广播服务,这不是必需的,因为只有注册用户才能使用广播功能。那么如何将广播限制为经过身份验证的用户?
解决方案
在您的活动课程中包括
public function broadcastOn()
{
return new PrivateChannel('library-section-edit');
}
在 route/channel.php 中写入以下内容
Broadcast::channel('library-section-edit', function ($user, $id) {
return auth()->user()->id === auth()->user()->id;
});
library-section-edit 是您的频道名称
推荐阅读
- visual-studio - 如何在 Microsoft Visual Studio 中禁用滚动越过文件的底线?
- django - Django,模型过滤器和其他外键模型排序
- c# - 如何在 C# 中计算屏幕上任意位置的鼠标点击次数?
- javascript - NodeJS 承诺返回待处理
- javascript - 使用 Loop through array vaiable 在更改事件上触发 HTML
- reactjs - Change styling of IonInput-elements in Ionic5 with React
- vb.net - 无法将“System.Data.DataView”类型的对象转换为“System.Data.DataTable”类型
- php - Laravel 不在调度程序内发送邮件
- c# - 出现此错误“输入字符串的格式不正确。”
- flutter - 如何将查询长度放入文本小部件?