LearnMood/app/Http/Middleware/CheckRole.php

24 lines
481 B
PHP

<?php
// app/Http/Middleware/CheckRole.php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class CheckRole
{
public function handle(Request $request, Closure $next, ...$roles)
{
if (!Auth::check()) {
return redirect('login');
}
if (!in_array(Auth::user()->role, $roles)) {
abort(403, 'Unauthorized access.');
}
return $next($request);
}
}