EnsureUserHasRole.php 614 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Foundation\Support\Providers\RouteServiceProvider;
  5. use Illuminate\Http\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class EnsureUserHasRole
  8. {
  9. /**
  10. * Handle an incoming request.
  11. *
  12. * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
  13. */
  14. public function handle(Request $request, Closure $next, ... $roles): Response
  15. {
  16. if(in_array($request->user()->role, $roles)) {
  17. return $next($request);
  18. }
  19. return redirect('/home');
  20. }
  21. }