Я хотел бы различать администраторов и пользователей ...
Вместо того, чтобы пытаться заново создать колесо и возиться с Аутом, почему бы не простоиспользовать что-то уже построенное и простое в использовании?
Spatie / Laravel-Permission может помочь вам в этом.
Например, чтобы создать роль администратора, вам нужно просто сделать следующее:
$role = Role::create(['name' => 'admin']);
Затем дать ему некоторые разрешения:
$permission = Permission::create(['name' => 'super power']);
$role->givePermissionTo($permission);
И назначитьроль модели пользователя в вашем контроллере
$user->assignRole('admin');
Оттуда вы можете запросить, есть ли у пользователя определенная роль, либо в вашем контроллере:
if( $user->hasRole('admin') )
{
// The user has the admin role
return view('admin-page');
} else {
// This is a generic user
return view('main');
}
ИЛИ в вашем блейде
@role('admin')
I took the red pill!
@else
I took the blue pill..
@endrole
Я предлагаю это, потому что его можно масштабировать и легко интегрировать в ваш проект.Поскольку ваш проект продолжает расти, если вам нужно добавить новые разрешения для роли, это одна строка кода.