From 77fc8015e7b701011f93a2e3446d21d7201aaf42 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Tue, 23 Dec 2025 09:17:39 +0100 Subject: [PATCH] =?UTF-8?q?Ich=20habe=20den=20Super=E2=80=91Admin=20sauber?= =?UTF-8?q?=20auf=20einen=20eigenen=20Guard=20+=20eigenes=20Session?= =?UTF-8?q?=E2=80=91Cookie=20umgestellt,=20damit=20Filament=E2=80=91Login?= =?UTF-8?q?=20nicht=20mehr=20mit=20dem=20Frontend/Event=E2=80=91Admin=20ge?= =?UTF-8?q?teilt=20wird.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Middleware/UseSuperAdminSession.php | 22 +++++++++++++++++ .../Filament/SuperAdminPanelProvider.php | 6 +++-- config/auth.php | 4 ++++ .../SuperAdminSessionMiddlewareTest.php | 24 +++++++++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 app/Http/Middleware/UseSuperAdminSession.php create mode 100644 tests/Feature/SuperAdminSessionMiddlewareTest.php diff --git a/app/Http/Middleware/UseSuperAdminSession.php b/app/Http/Middleware/UseSuperAdminSession.php new file mode 100644 index 0000000..8920444 --- /dev/null +++ b/app/Http/Middleware/UseSuperAdminSession.php @@ -0,0 +1,22 @@ + 'super_admin_session']); + + return $next($request); + } +} diff --git a/app/Providers/Filament/SuperAdminPanelProvider.php b/app/Providers/Filament/SuperAdminPanelProvider.php index 09a57bc..c2167be 100644 --- a/app/Providers/Filament/SuperAdminPanelProvider.php +++ b/app/Providers/Filament/SuperAdminPanelProvider.php @@ -11,6 +11,7 @@ use App\Filament\Widgets\PlatformStatsWidget; use App\Filament\Widgets\RevenueTrendWidget; use App\Filament\Widgets\TopTenantsByRevenue; use App\Filament\Widgets\TopTenantsByUploads; +use App\Http\Middleware\UseSuperAdminSession; use Boquizo\FilamentLogViewer\FilamentLogViewerPlugin; use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\DisableBladeIconComponents; @@ -18,8 +19,8 @@ use Filament\Http\Middleware\DispatchServingFilamentEvent; use Filament\Pages; use Filament\Panel; use Filament\PanelProvider; -use Filament\Support\Icons\Heroicon; use Filament\Support\Colors\Color; +use Filament\Support\Icons\Heroicon; use Filament\Widgets; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Cookie\Middleware\EncryptCookies; @@ -72,6 +73,7 @@ class SuperAdminPanelProvider extends PanelProvider ]) ->middleware([ EncryptCookies::class, + UseSuperAdminSession::class, AddQueuedCookiesToResponse::class, StartSession::class, AuthenticateSession::class, @@ -100,7 +102,7 @@ class SuperAdminPanelProvider extends PanelProvider Pages\Dashboard::class, \App\Filament\SuperAdmin\Pages\WatermarkSettingsPage::class, ]) - ->authGuard('web'); + ->authGuard('super_admin'); // SuperAdmin-Zugriff durch custom Middleware, globale Sichtbarkeit ohne Tenant-Isolation // Blog-Resources werden durch das Plugin-ServiceProvider automatisch registriert diff --git a/config/auth.php b/config/auth.php index 004d7f6..198debf 100644 --- a/config/auth.php +++ b/config/auth.php @@ -40,6 +40,10 @@ return [ 'driver' => 'session', 'provider' => 'users', ], + 'super_admin' => [ + 'driver' => 'session', + 'provider' => 'users', + ], 'api' => [ 'driver' => 'sanctum', 'provider' => 'users', diff --git a/tests/Feature/SuperAdminSessionMiddlewareTest.php b/tests/Feature/SuperAdminSessionMiddlewareTest.php new file mode 100644 index 0000000..f330e15 --- /dev/null +++ b/tests/Feature/SuperAdminSessionMiddlewareTest.php @@ -0,0 +1,24 @@ + 'laravel_session']); + + $middleware = new UseSuperAdminSession; + $request = Request::create('/super-admin', 'GET'); + + $middleware->handle($request, function () { + return response('ok'); + }); + + $this->assertSame('super_admin_session', config('session.cookie')); + } +}