Чтобы использовать директивы @authи @guestв Laravel с мульти-аутентификацией, вы можете выполнить следующие действия:
-
Определите несколько средств защиты. В файле
config/auth.phpопределите несколько средств защиты аутентификации, добавив новые записи в массивguards. У каждого охранника должно быть уникальное имя и соответствующий поставщик.'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'admin' => [ 'driver' => 'session', 'provider' => 'admins', ], ], -
Создание нескольких поставщиков пользователей. В том же файле
config/auth.phpопределите несколько поставщиков пользователей в массивеproviders. Каждый поставщик должен иметь уникальное имя и соответствующую модель.'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Models\User::class, ], 'admins' => [ 'driver' => 'eloquent', 'model' => App\Models\Admin::class, ], ], -
Используйте директивы в шаблонах Blade: теперь вы можете использовать директивы
@authи@guestс указанными средствами защиты в шаблонах Blade.@auth('web') <!-- Content for web authenticated users --> @endauth @guest('admin') <!-- Content for admin guests --> @endguestДиректива
@authпроверяет, прошел ли пользователь аутентификацию с использованием указанного средства защиты, а директива@guestпроверяет, является ли пользователь гостем для указанного средства защиты.
Следуя этим шагам, вы сможете использовать директивы @authи @guestс множественной аутентификацией в Laravel.