В промежуточном программном обеспечении важно обрабатывать все случаи и возвращать перенаправления соответственно или прерывать работу.
Вы делаете return $next($request);
, когда хотите разрешить системе продолжить обработку запроса вперед.
Однако, если в случае сбоя условия if (Auth::check() && Auth::user()->role == 'title_officer')
вы не упомянули, что должна делать система.
Вы можете быть abort(404)
, если вы не хотите показывать страницу как доступную, или abort(403)
для запрещенного доступа.
public function handle($request, Closure $next)
{
if (Auth::check() && Auth::user()->role == 'title_officer') {
return $next($request);
}
abort(403);
}
Но убедитесь, что вы не добавилислучай, который сделает бесконечный цикл.Пожалуйста, проверьте документацию для получения дополнительной информации.