Ошибка 403 Это действие неавторизовано. с провайдером в Laravel - PullRequest
0 голосов
/ 17 июня 2020

Всем привет Добрый вечер. Я тренируюсь с laravel, но у меня ошибка. Я не уверен, потому что у меня ошибка 403. Я пользуюсь провайдером !! это метод получить идентификатор от пользователя и использовать $ this-> authorize ($ user);

 public function edit($id){
        // buscar usuario en la base de datos y evitar
        // la insercion de datos nulos
        $user = User::findorFail($id);
        $this->authorize($user);
        return view('users.edit', compact('user')); 
    }

After В классе с именем PoliticaUsuario есть метод под названием «edit», где я хочу сравнить пользователей, но возвращаю false и Я получаю ошибку 403 или это действие неавторизовано.!

class PoliticaUsuario
{
    use HandlesAuthorization;

    /**
     * Create a new policy instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    public function edit(User $auth, User $user ){        
        return $auth->id === $user->id;
    }


}

Очевидно, это провайдер, в который я вставляю свой класс с именем PoliticaUsuario и модель пользователя

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The policy mappings for the application.
     *
     * @var array
     */
    protected $policies = [
        User::class => PoliticaUsuario::class,
    ];

    /**
     * Register any authentication / authorization services.
     *
     * @return void
     */
    public function boot()
    {
        $this->registerPolicies();

        //
    }
}

это фото из базы :) Простите за английский sh Я еще учусь !!

1 Ответ

1 голос
/ 17 июня 2020

Вам все равно нужно передать имя метода, подобное этому

$this->authorize('edit', $user);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...