Laravel Middleware не работает должным образом для проверки прав доступа - PullRequest
0 голосов
/ 04 июля 2018

Я разрабатываю систему Laravel ACL. В моем ACL я предоставляю разрешения через HasPermission Промежуточное ПО, в моем промежуточном программном обеспечении не могу проверить какое-либо разрешение, оно всегда выполняется методом redirect()->back().

Вот мой пример кода.

class HasPermission
{

public function handle($request, Closure $next,...$permissions)
{
    // $permissions = explode(',', $permissions);
    //dd($permissions);

    foreach($permissions as $permission){
        if (Auth::user()->can($permission)) {
            return $next($request);
        }
    }
    return redirect()->back();
}
}

Мой контроллер.

function __construct()
{
    $this->middleware('auth');
    $this->middleware('HasPermission:Role-Read,Role-Delete')->only('userEdit');
    $this->middleware('can:Role-Update')->only('userEdit');
}

Это. Auth::user()->can($permission) не работает должным образом. Какие будут решения для этой проблемы.

1 Ответ

0 голосов
/ 05 июля 2018

попробовать: Auth :: user () -> can ('поле, которое вы хотите обновить', $ разрешение);

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