Mithilfe der nachfolgenden Middleware ist es möglich, Systemvariablen (TYPO3_CONF_VARS) in Multidomain Umgebungen dynamisch und seitenspezifisch mit in der Site Configuration hinterlegten Werten zu überschreiben. Die konkrete Implementierung verändert hierbei abhängig von der URL des Requests den visuellen Stil des Backend Login Formulars  ("loginHighlightColor" sowie "loginLogo") auf Basis der jeweiligen Site Configuration. Da auch die Core Funktionalität "FluidEmail" bei Verwendung des Standard Layouts auf diese Werte zugreift, wird die Middleware sowohl im Backend als auch im Frontend Context registriert.

Middleware (Classes/Middleware/ModifySystemSettings.php)

<?php

declare(strict_types=1);

namespace Vendor\Extension\Middleware;

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use TYPO3\CMS\Core\Routing\SiteMatcher;
use TYPO3\CMS\Core\Site\Entity\Site;
use TYPO3\CMS\Core\Utility\GeneralUtility;

/**
 * ModifySystemSettings
 */
class ModifySystemSettings implements MiddlewareInterface
{

    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $siteMatcher = GeneralUtility::makeInstance(SiteMatcher::class);
        $routeResult = $siteMatcher->matchRequest($request);
        $site = $routeResult->getSite();

        if($site instanceof Site) {
            $settings = $site->getConfiguration()['settings'];
            $loginHighlightColor = $settings['backend']['loginHighlightColor'] ?? null;
            $loginLogo = $settings['backend']['loginLogo'] ?? null;

            if($loginHighlightColor) {
                $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['backend']['loginHighlightColor'] = $loginHighlightColor;
            }
            if($loginLogo) {
                $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['backend']['loginLogo'] = $loginLogo;
            }
        }

        return $handler->handle($request);
    }
}

Registrierung (Configuration/RequestMiddlewares.php)

<?php

return [
    'frontend' => [
        'vendor/extension/modify-system-settings' => [
            'target' => \Vendor\Extension\Middleware\ModifySystemSettings::class,
            'after' => [
                'typo3/cms-frontend/site',
            ],
        ]
    ],
    'backend' => [
        'vendor/extension/modify-system-settings' => [
            'target' => \Vendor\Extension\Middleware\ModifySystemSettings::class,
            'after' => [
                'typo3/cms-backend/site-resolver',
            ],
        ]
    ]
];

Site Configuration (config/sites/mysite/settings.yaml)

backend:
  loginHighlightColor: '#123456'
  loginLogo: 'EXT:extension/Resources/Public/Images/logo.svg'