Laravel 403 запрещено на заказ Проверка запроса - PullRequest
2 голосов
/ 21 мая 2019

Я следовал документам здесь:

https://laravel.com/docs/5.8/validation#form-request-validation

Я создал пользовательский запрос StoreName

php artisan make:request StoreName

Затем добавил следующие правила проверки:

public function rules()
{
    return [
        'name' => 'required|max:255|min:4'
    ];
}

Затем, согласно документации, намекал на это в моем контроллере:

public function store(StoreName $request)
{
    $validated = $request->validated();
}

Однако, когда я отправляю почтовый запрос на эту конечную точку, мне возвращается 403 от Laravel,Когда я удаляю пользовательскую проверку StoreName и просто подсказываю стандартную Laravel Illuminate\Http\Request, запрос работает нормально (очевидно, после удаления метода validated ()).

Так что 403 исходит из моего пользовательского запроса проверки иЯ не имею понятия почему?Я проверил права доступа к файлу в файле StoreName.php, и они такие же, как и у любого другого файла в проекте.

Я использую php artisan serve для своего сервера разработки, поэтому никаких нестандартных настроек Apache / Nginxпереписывать вещи тоже.Все остальные конечные точки работают отдельно от этой, когда применяется пользовательский запрос проверки.

В чем может быть проблема?


РЕДАКТИРОВАТЬ:

Вероятно, стоит отметить, что яне изменили метод authorize () по умолчанию, который Laravel генерирует при проверке нового пользовательского запроса:

public function authorize()
{
    return false;
}

1 Ответ

4 голосов
/ 21 мая 2019

В вашем классе пользовательских запросов у вас есть такой метод:

public function authorize()
{
    return true; // this is false by default which means unauthorized 403
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...