Задать вопрос
les-anatoliy
@les-anatoliy

Почему не работает laravel policy?

Добрый день!
Подскажите, создал RolesPolicy.
добавил следующее
protected $policies = [
      Roles::class => RolesPolicy::class,
   ];

а при вызове в методе контроллера
$role = Menu::where('route', $this->currentRouteName())->first();
        $roles = new \App\Models\Roles;
        $this->authorize('view', $request->user(), $roles);

Сам RolesPolicy.php вот:
namespace App\Policies;

use App\Models\User;
use App\App\Models\Roles;
use Illuminate\Auth\Access\HandlesAuthorization;

class RolesPolicy
{
    use HandlesAuthorization;

    /**
     * Determine whether the user can view the roles.
     *
     * @param  \App\Models\User  $user
     * @param  \App\App\Models\Roles  $roles
     * @return mixed
     */
    public function view(User $user, Roles $roles)
    {
        return false;
    }
}


Выдает ошибку prntscr.com/ibzar6

Все делал по офф документации.
  • Вопрос задан
  • 742 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
t1gor
@t1gor
Web developer
Пользователь инжектиться в Policy автоматически, вас надо только указачть что вы ходите сделать и с чем:

$this->authorize('view', $roles);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы