радиовещание для нескольких охранников

У меня есть следующие параметры безопасности, определенные для моего приложения admins, designers, customers и т. д. по умолчанию охранник является designer guard,

Я хочу каждый guard иметь свой собственный private channel,
Поэтому я определяю его в моем channel.php с несколькими записями для каждого, как показано ниже

Broadcast::channel('private.admins.{id}', function ($admin, $id) {


Log::info($admin);
//logging the admin

});

Но это всегда binding с default guard класс, так что мой вопрос, как я могу сказать, что использовать здесь Admin model,
Я не могу найти это нигде. Так вы можете указать мне в правильном направлении

На самом деле я хочу каждый guard иметь свой собственный private channel,

2

Решение

Попробуйте изменить в BroadcastServiceProvider файл app\Providers\BroadcastServiceProvider.php

Различная конечная точка аутентификации для каждого охранника

public function boot()
{
//Broadcast::routes();
//match any of the 3 auth guards
Broadcast::routes(['middleware' => ['web','auth:admins,designers,customers']]);
require base_path('routes/channels.php');
}

Сейчас в channel.php

Broadcast::channel('admins.channel.{id}', function ($admin, $id) {
return $admin->id === $id && get_class($admin) === 'App\Admin';
});

Broadcast::channel('designers.channel.{id}', function ($designer, $id) {
return $designer->id === $id && get_class($designer) === 'App\Designer';
});

Broadcast::channel('customers.channel.{id}', function ($customer, $id) {
return $customer->id === $id && get_class($customer) === 'App\Customer';
});
3

Другие решения

Других решений пока нет …