06 - Gestão Categorias no Laravel - Validar - curso-laravel-repository

[Finalizado Pelo Aluno]

Marcelo_Ferreira
Criador Marcelo_Ferreira 12/11/2021

 

Carlos, boa noite!

nesta aula eu deixei o return como true na função authorize da classe 'StoreUpdateCategoryFormRequest', porém, sempre recebia a mensagem de acesso negado (403 this action is unauthorized)!!

O bug ocorreu após eu trocar 'Request' por 'StoreUpdateCategoryFormRequest' na função 'store' da classe 'CategoryController', conforme mostrado na aula.

Enfim, eu achei o problema e resolvi desisntalando desabilitando a extensão 'PHP IntelliSense' do VSC, porém, tenho algumas dúvidas, são elas?

01) Qual a relação dessa extensão com o controle de acesso as classes?

02) Existe alguma incompatibilidade com o Laravel 8, PHP 8 e o sistema Linux?

03) Vou precisar dessa extensão neste ou em outro curso da academy que venha a fazer? Se sim, como posso resolver esta incompatibilidade?

class StoreUpdateCategoryFormRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}

/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'title' => 'required|min:3|max:60|unique:categories',
'url' => 'required|min:3|max:60|unique:categories',
'description' => 'max:2000',
];

}
}

 

public function store(StoreUpdateCategoryFormRequest $request)
{
DB::table('categories')->insert([
'title' => $request->title,
'url' => $request->url,
'description' => $request->description,
'created_at' => date('Y-m-d H:i:s'),
]);
return redirect()->route('categories.index');
}

 

Att

Marcelo

 

 

Manager Carlos Ferreira 12/11/2021

Olá, Marcelo!
Tudo bem?

O método authorize das classes de form request servem para validar se o usuário tem a permissão de fazer a determinada operação (inserir ou editar o registro). No LaraFood tem uma aula com um exemplo real.

Isso não é bug, apenas uma forma de lidar, na maioria dos casos você não vai validar a permissão no form request, mas sim em outro local, portanto, deve deixar o return false;

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!