首页 > 解决方案 > Laravel 广播/WebSockets:如何只为经过身份验证/登录的用户运行?

问题描述

所以我希望广播功能只对登录的用户可用,因为我使用Laravel WebSockets(所以我自己托管广播服务)并且我希望它是可扩展的。

目前,每个访问我网站的用户都会自动连接到广播服务,这不是必需的,因为只有注册用户才能使用广播功能。那么如何将广播限制为经过身份验证的用户?

标签: laravelwebsocketbroadcast

解决方案


在您的活动课程中包括

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 是您的频道名称


推荐阅读