使用Laravel 5.1授权方法时如何返回自定义403异常

时间:2015-12-13 20:32:00

标签: laravel laravel-5 laravel-5.1 acl laravel-authorization

在laravel 5.1中,如果使用以下方法检查能力,则可以返回自定义响应:

if (Gate::denies('update', $post)) {
        return response()->view('errors.403');
}

使用authorize方法时是否有任何方法可以返回类似的自定义错误:

$this->authorize('update', $post);

以上简单地抛出一个状态代码为403的http异常。

1 个答案:

答案 0 :(得分:4)

我可以通过以下方式完成:

Thread: emit_signal dialog_closed = False while not dialog_closed: pass go_on_with_processing MainThread: def SignalRecieved(): open_dialog dialog_closed = True 中添加以下方法:

App\Http\Controllers\Controller

它将重新抛出protected function createGateUnauthorizedException( $ability, $arguments, $message = 'This action is unauthorized.', $previousException = null ) { throw $previousException; }

现在在UnauthorizedException,你可以在App\Exceptions\Handler.php方法的开头添加:

render