mivita/dev/subdomain-optimization-gemini/ProposedKernel.php
2025-10-20 17:42:08 +02:00

73 lines
2.6 KiB
PHP

<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
/**
* ## Vorschlag für `app/Http/Kernel.php`
*
* Diese Datei zeigt die empfohlene Anordnung der Middleware, um das Session-Problem zu lösen.
* Die `DomainResolver`-Middleware wird durch `HandleDomainLogic` ersetzt und an die richtige Stelle verschoben.
*/
class ProposedKernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
// ... andere globale Middleware
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
// ...
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class, // Die Session wird hier gestartet.
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
// ===================================================================
// NEUE ANORDNUNG:
// Die Domain-Logik wird NACH `StartSession` ausgeführt.
// Der alte `DomainResolver` wird durch `HandleDomainLogic` ersetzt.
// `InitializeDomainContext` könnte hier oder sogar global laufen,
// wenn der Kontext noch früher gebraucht wird.
// ===================================================================
// \App\Http\Middleware\InitializeDomainContext::class, // Optional, falls benötigt
\App\Http\Middleware\HandleDomainLogic::class, // <-- HIER
],
'api' => [
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
// ... andere Route-Middleware
];
}