Coach.php 610 B

123456789101112131415161718192021222324252627
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Http\Middleware;
  4. use Closure;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Auth;
  7. use Symfony\Component\HttpFoundation\Response;
  8. final class Coach
  9. {
  10. /**
  11. * 处理传入的请求
  12. */
  13. public function handle(Request $request, Closure $next): Response
  14. {
  15. // 验证用户是否为技师
  16. $user = Auth::user();
  17. abort_if(! $user, Response::HTTP_UNAUTHORIZED, '用户未登录');
  18. abort_if(! $user->coach, Response::HTTP_FORBIDDEN, '非技师用户无权访问');
  19. return $next($request);
  20. }
  21. }