Laravel Gate :: до создания SuperAdmin не работает - PullRequest
0 голосов
/ 08 июля 2019

Использование gate :: before в Authserviceprovider в функции загрузки, как показано ниже

Gate::before(function (Admin $user, $ability) {
                          if ($user->isSuperAdmin('Super-admin')){
                                 return true;
                                }
                            });

, затем определение метода isSuperAdmin () в модели администратора, как показано ниже

public function isSuperAdmin($ability){
                              foreach (\auth()->user()->roles as $role){
                               foreach ($role->permissions as $permission){
                                  return $permission->name == $ability;}}}

, но superAdmin по-прежнему ограничен

1 Ответ

2 голосов
/ 08 июля 2019
 Gate::before(function (Admin $user, $ability) {
        return $user->hasRole('Super-admin') ? true : null;
    });

Я думаю, этого будет достаточно. Нет необходимости foreachs, проверка прав доступа, дополнительные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...