Laravel 5.3 ACL с использованием Gate Facad

Я пытаюсь реализовать ACL используя Laravel Polices и Gate. Ниже мой код.
UserPolcy:

class UserPolicy
{
use HandlesAuthorization;

public function isRoleAllowed(User $user, $role)
{
return in_array( $role , $user->getRoles());
}
}

AuthServiceProvider:

class AuthServiceProvider extends ServiceProvider
{
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
public function boot()
{
$this->registerPolicies();// User Policy
foreach ( get_class_methods(new \App\Policies\UserPolicy) as $method ) {
Gate::define($method, "App\Policies\UserPolicy@{$method}");
}

}
}

Как я пытаюсь получить доступ к isRoleAllowed в моем контроллере,

Gate::allows('isRoleAllowed', 'APPROVE_INVOICE')

Это всегда возвращать истину. Это не выполнение функции isRoleAllowed. Я не знаю, где я ошибаюсь.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]