namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class PermissionMiddleware { public function handle(Request $request, Closure $next, $permission) { $admin = Auth::guard('admin')->user(); if (!$admin) { return redirect()->route('admin.login'); } if (!$admin->hasPermission($permission)) { abort(403, 'Unauthorized action. You do not have the required permission.'); } return $next($request); } }