Как проверить пользователь администратор или нет в laravel 5.3?

Пользователь

от jaren , в категории: PHP , 2 года назад

Как проверить пользователь администратор или нет в laravel 5.3?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от felix , 2 года назад

@jaren 

В Laravel 5.3 можно использовать middleware auth в сочетании с gate для проверки, является ли пользователь администратором.


Вот пример, как это можно сделать:

  1. Создайте gate в AuthServiceProvider:
1
2
3
4
5
6
7
8
public function boot()
{
    $this->registerPolicies();

    Gate::define('isAdmin', function ($user) {
        return $user->isAdmin;
    });
}


  1. Используйте middleware auth и can для проверки аутентификации и наличия соответствующих разрешений:
1
2
3
Route::get('/admin', function () {
    return 'This is the admin area.';
})->middleware(['auth', 'can:isAdmin']);


  1. Убедитесь, что в модели пользователя (User) есть свойство isAdmin, которое возвращает true, если пользователь является администратором:
1
2
3
4
public function isAdmin()
{
    return $this->role === 'admin';
}


Пользователь

от jeromy_ruecker , год назад

@jaren 

Надеюсь, это поможет!