Вы должны создать промежуточное программное обеспечение, которое активно на всех маршрутах / admin. В этом промежуточном программном обеспечении вы должны проверить, имеет ли пользователь, вошедший в систему (Auth::user()
), роль «admin».
Auth::user()
ссылается на User
-модель.
Таким образом, в User
-модели вы можете создать функцию типа isAdmin()
:
public function isAdmin()
{
return $this->role === 'admin'
}
В промежуточном программном обеспечении (или там, где вы хотите) вы можете просто написать
if(Auth::user()->isAdmin()) {
// do something if user is admin
} else {
// do something if user is not admin
}
Поскольку он находится в User
-модели, вы также можете написать $user->isAdmin()
для обычных пользовательских моделей.