TYPO3 v10.2:自定义身份验证服务中的前端用户会话保存($GLOBALS['TSFE']->fe_user)
TYPO3 v10.2: Frontend user session saving ($GLOBALS['TSFE']->fe_user) in Custom Authentication Service
现在我正在将旧的基于 pi 的扩展从 6.2 升级到 extbase 10.2 扩展。
经过一些研究,我发现前端请求的请求工作流在 TYPO3 10.0 中发生了变化(问题 #88540)。
来自更新日志:
TSFE is instantiated after all site resolving, authentication, page
resolving and argument validation is done.
因为我曾经在 $GLOBALS['TSFE']->fe_user
和 $GLOBALS['TSFE']->fe_user->setKey('ses','key', $value)
中存储用户会话,而身份验证过程(自定义 authService)我无法再存储它,因为更改了请求工作流。 $GLOBALS['TSFE']->fe_user
现在在身份验证过程后实例化。似乎必须将保存前端用户会话移到中间件中(在此处找到一些信息:Task #88541)。由于我从未处理过中间件,我现在的问题是如何使用中间件 Class 来保存我的前端用户会话数据?在 Configuration\RequestMiddlewares.php
下,我得到了以下配置:
return [
'frontend' => [
'my-middleware-identifier' => [
'target' => \Vendor\Extension\Middleware\Session::class,
'after' => [
'typo3/cms-frontend/prepare-tsfe-rendering'
]
]
]
];
提前致谢!
自 TYPO3 v10.0.0 以来,前端请求的请求工作流程已更改。这就是为什么在身份验证过程中不再可能存储会话数据的原因。请参阅:Changed Request Workflow for Frontend Requests 我为此使用了一个自定义中间件来在创建 $GLOBALS['TSFE']->fe_user
之后存储它。
现在我正在将旧的基于 pi 的扩展从 6.2 升级到 extbase 10.2 扩展。 经过一些研究,我发现前端请求的请求工作流在 TYPO3 10.0 中发生了变化(问题 #88540)。 来自更新日志:
TSFE is instantiated after all site resolving, authentication, page resolving and argument validation is done.
因为我曾经在 $GLOBALS['TSFE']->fe_user
和 $GLOBALS['TSFE']->fe_user->setKey('ses','key', $value)
中存储用户会话,而身份验证过程(自定义 authService)我无法再存储它,因为更改了请求工作流。 $GLOBALS['TSFE']->fe_user
现在在身份验证过程后实例化。似乎必须将保存前端用户会话移到中间件中(在此处找到一些信息:Task #88541)。由于我从未处理过中间件,我现在的问题是如何使用中间件 Class 来保存我的前端用户会话数据?在 Configuration\RequestMiddlewares.php
下,我得到了以下配置:
return [
'frontend' => [
'my-middleware-identifier' => [
'target' => \Vendor\Extension\Middleware\Session::class,
'after' => [
'typo3/cms-frontend/prepare-tsfe-rendering'
]
]
]
];
提前致谢!
自 TYPO3 v10.0.0 以来,前端请求的请求工作流程已更改。这就是为什么在身份验证过程中不再可能存储会话数据的原因。请参阅:Changed Request Workflow for Frontend Requests 我为此使用了一个自定义中间件来在创建 $GLOBALS['TSFE']->fe_user
之后存储它。