У меня есть следующие параметры безопасности, определенные для моего приложения 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
,
Попробуйте изменить в 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';
});
Других решений пока нет …