Laravel 6 policies how to redirect unauthorized

Posted on: December 08, 2020 05:55 PM

Posted by: Renato

Categories: Laravel

Views: 144

# 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

Share
About Author

Renato

Developer

Add a Comment

Comments are disabled!