In laravel 5.1 you can return a custom response when you check abilities if you use the following method:
if (Gate::denies('update', $post)) {
return response()->view('errors.403');
}
Is there any way to return a similar custom error when using the authorize method:
$this->authorize('update', $post);
The above simply throws a http exception with status code 403.
I can do it in following way:
In
App\Http\Controllers\Controller
add the following method:It will rethrow
UnauthorizedException
.Now in
App\Exceptions\Handler.php
you can add at the beginning ofrender
method: