Ответ 1
Вы можете просто использовать помощник abort()
. (Или App::abort()
)
public function handle($request, Closure $next) {
if (!Auth::check()) {
abort(403, 'Access denied');
}
return $next($request);
}
Вы можете обрабатывать эти исключения внутри 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);
}