在TYPO3 v10中,我们可以使用以下代码创建用户并模拟用户组:
$sessionData = array_merge([
'uid' => 0,
'usergroup' => $this->settings['userGroupUid'],
'status' => 'login'
], $loginResponse->getData());
$this->getFeUser()->dontSetCookie = false;
$this->getFeUser()->createSessionId();
$this->getFeUser()->setAndSaveSessionData(Client::SESSION_KEY, $sessionData);
在 TYPO3 v12 中,createSessionId 已被删除。我们如何在 TYPO3 v12 中做到这一点。
您可以查看变更日志https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.0/Deprecation-93023-ReworkedSessionHandling.html - 这描述了可能的迁移路径。
这样的东西可能已经可以工作,并且实际上可以为您节省一些行(未经测试):
$sessionData = array_merge([
'uid' => 0,
'usergroup' => $this->settings['userGroupUid'],
'status' => 'login'
], $loginResponse->getData());
$this->getFeUser()->initializeUserSessionManager();
$this->getFeUser()->setAndSaveSessionData(Client::SESSION_KEY, $sessionData);