Неожиданное поведение для $ this-> authorize () в Laravel 6 - PullRequest
0 голосов
/ 14 апреля 2020

Вызов $this->authorize('some.permission') в конструкторе контроллера всегда вызывает ошибку 403. Однако $this->middleware('can:some.permission') работает как положено. Почему?

Вот как some.permission, определенный в AuthServiceProvider

public function boot()
{
    $this->registerPolicies();

     Gate::before(function (User $user) {
        if ($user->isSuperAdmin()) {
            return true; // This is ignored
        }
    });

     Gate::define('some.permission', function (User $user) {
        // return true; // This didn't work as well
        return $user->hasPermission('some.permission');
     });

}

Забавно, но Gate::before() игнорируется $this->authorize(), что логически неверно.

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