从 extbase 设置 fe_users 会话

mad*_*adc 1 typo3 extbase

由于我必须以某种方式验证登录数据,普通登录扩展无法处理,因此我必须开发一个自定义登录表单。该登录框是分机的一部分。用 extbase 编写。

但我坚持一个基本问题:我如何处理 extbase 中的 fe_users 会话?

Pet*_*One 5

我写了这个函数,也许有帮助:

/** @var $fe_user tslib_feUserAuth */
$fe_user = $GLOBALS['TSFE']->fe_user;
$fe_user->createUserSession(array('uid' => $uid));
$fe_user->user = $fe_user->getRawUserByUid($uid);
$fe_user->fetchGroupData();
$GLOBALS['TSFE']->loginUser = 1;
Run Code Online (Sandbox Code Playgroud)

它的灵感来自Tx_Phpunit_Framework::loginFrontEndUser($userId)

// Instead of passing the actual user data to createUserSession, we
// pass an empty array to improve performance (e.g. no session record
// will be written to the database).
$GLOBALS['TSFE']->fe_user->createUserSession(array());
$GLOBALS['TSFE']->fe_user->user = $GLOBALS['TSFE']->fe_user->getRawUserByUid($userId);
$GLOBALS['TSFE']->fe_user->fetchGroupData();
$GLOBALS['TSFE']->loginUser = 1;
Run Code Online (Sandbox Code Playgroud)