Posted on: December 08, 2020 05:55 PM
Posted by: Renato
Categories: Laravel
Views: 657
# Laravel 6 policies how to redirect unauthorized users
> Usei este metodo para trazer um return mais adequado para Api Rest;
## Você pode modificar o arquivo app\Exceptions\Handler.php
> na função de renderização:
```php
public function render($request, Exception $e)
{
/**modified part**/
if ($request->wantsJson()) {
return response([
'success' => false,
'message' => $e->getMessage()
], 404);
}
if ($e instanceof AuthorizationException) {
return redirect('path');
//or simply
return view('errors.forbidden');
//but this will return an OK, 200 response.
}
/**end of modified part**/
return parent::render($request, $e);
}
```
- Se você quiser colocar um 403, use a função auxiliar response(). Você pode ver a documentação para respostas aqui https://laravel.com/docs/master/responses
> Basicamente, você pode usar a solução para jogar com mais opções. Mas a maneira mais fácil é apenas criar um arquivo de visualização: errors/403.blade.phpe essa visualização será carregada automaticamente quando você atingir exceções não autorizadas. O mesmo funcionará para 404 não encontrado, basta criar o 404.blade.php.
Fonte:
https://stackoverflow.com/questions/39547763/laravel-5-3-policies-how-to-redirect-unauthorized-users
Donate to Site
Renato
Developer