gsk*_*gsk 24 php middleware exception laravel laravel-5
我正在laravel5中编写一个中间件,我希望通过中间件的代码403通过禁止的异常.我的中间件功能如下.
use Exception;
public function handle($request, Closure $next)
{
if (!Auth::check()) {
throw new Exception("Access denied", 403);
}
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
我从控制器调用中间件,我收到代码500但不是403的错误消息.我怎么解决这个问题?
luk*_*ter 31
您只需使用abort()帮助程序即可.(或App::abort())
public function handle($request, Closure $next) {
if (!Auth::check()) {
abort(403, 'Access denied');
}
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
你可以App\Exceptions\Handler通过覆盖处理这些异常render()例如:
public function render($request, Exception $e)
{
if($e instanceof HttpException && $e->getStatusCode() == 403){
return new JsonResponse($e->getMessage(), 403);
}
return parent::render($request, $e);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14608 次 |
| 最近记录: |