TYPO3 v10.2: сохранение пользовательского сеанса внешнего интерфейса ($ GLOBALS ['TSFE'] -> fe_user) в службе пользовательской аутентификации - PullRequest
0 голосов
/ 03 февраля 2020

Сейчас я обновляю старое расширение на основе pibase с 6.2 до расширения extbase 10.2. После некоторых исследований я обнаружил, что рабочий процесс запросов для запросов внешнего интерфейса изменился в TYPO3 10.0 (выпуск № 88540). Из журнала изменений:

TSFE создается после выполнения всех разрешений сайта, аутентификации, разрешения страниц и проверки аргументов.

Поскольку я использовал для хранения пользовательских сессий в $GLOBALS['TSFE']->fe_user с $GLOBALS['TSFE']->fe_user->setKey('ses','key', $value) во время процесса аутентификации (Custom authService) Я больше не могу его сохранить из-за изменившегося рабочего процесса запроса. $GLOBALS['TSFE']->fe_user теперь создается после процесса аутентификации. Похоже, что пользовательский сеанс сохранения внешнего интерфейса должен быть перенесен в Middleware (см. Некоторую информацию здесь: Task # 88541). Так как я никогда не имел дело с Middlewares, мой вопрос сейчас заключается в том, как мне добиться сохранения моих данных о сеансах интерфейса пользователя с помощью класса Middleware? Под Configuration\RequestMiddlewares.php я получил следующую конфигурацию:

return [
    'frontend' => [
        'my-middleware-identifier' => [
            'target' => \Vendor\Extension\Middleware\Session::class,
            'after' => [
                'typo3/cms-frontend/prepare-tsfe-rendering'
            ]
        ]
    ]
];

Заранее спасибо!

1 Ответ

0 голосов
/ 13 февраля 2020

Начиная с TYPO3 v10.0.0, рабочий процесс запросов для запросов внешнего интерфейса изменился. Вот почему больше невозможно хранить данные сеанса во время процесса аутентификации. См .: Изменен рабочий процесс запросов для запросов внешнего интерфейса Я использовал специальное промежуточное программное обеспечение для этого, чтобы сохранить его после создания $GLOBALS['TSFE']->fe_user.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...