TYPO3 6.1-如何通过代码登录fe_用户?
我正在使用TYPO3 6.1,并尝试通过PHP和user_INT中包含的代码登录FE用户 此代码不适用于我:你知道为什么吗TYPO3 6.1-如何通过代码登录fe_用户?,typo3,typo3-6.1.x,Typo3,Typo3 6.1.x,我正在使用TYPO3 6.1,并尝试通过PHP和user_INT中包含的代码登录FE用户 此代码不适用于我:你知道为什么吗 // try to login the user now $loginData = array( 'uname' => trim($postData['username']), //usernmae 'uident' => trim($postData['password']), //password 'status' =>
// try to login the user now
$loginData = array(
'uname' => trim($postData['username']), //usernmae
'uident' => trim($postData['password']), //password
'status' => 'login'
);
// $GLOBALS['TSFE']->fe_user-checkPid=0; //do not use a particular pid
$GLOBALS['TSFE']->fe_user->checkPid = $this->feUserPid; // ''; //do not use a particular pid
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
//
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord(
$info['db_user'], $loginData['uname']
);
$ok = $GLOBALS['TSFE']->fe_user->compareUident($user, $loginData);
//
if($ok)
{
// login successfull
$GLOBALS['TSFE']->fe_user->createUserSession($user);
//
$content = '<h3 class="green">LOGIN OK!</h3>';
$content .= '<p>Sie sind eingeloggt als ' . $feUsername . ' und wurden nun weitergeleitet...</p>';
}
else
{
// login failed
$content = '<h3 class="red">LOGIN FAILED!</h3>';
}
谢谢你的提示 从TYPO3 4.7开始,您必须使用$loginda['uident_text']而不是$loginda['uident']作为密码
如果问题仍然存在,请提供更多信息,具体是哪里出了问题,日志上写了什么等等。CompareIdentit是否为您返回TRUE? 一、 fx有一个案例,我会自动登录刚刚创建自己的用户。compareUident由于某种原因对我不起作用,但我知道这个网站访问者刚刚创建了用户,我跳过了这个函数,继续启动所有会话变量。以下是TYPO3 6.1的工作代码:
$loginData = array(
'uname' => $postdata['username'],
'uident' => $postdata['password'],
'status' => 'login',
);
$GLOBALS['TSFE']->fe_user->checkPid = 0;
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $loginData['uname']);
//if($GLOBALS['TSFE']->fe_user->compareUident($user, $loginData)) {
$GLOBALS['TSFE']->fe_user->user = $GLOBALS['TSFE']->fe_user->fetchUserSession();
$GLOBALS['TSFE']->loginUser = 1;
$GLOBALS['TSFE']->fe_user->fetchGroupData();
$GLOBALS['TSFE']->fe_user->start();
$GLOBALS['TSFE']->fe_user->createUserSession($user);
$GLOBALS['TSFE']->fe_user->loginSessionStarted = TRUE;
//}
灵感来自:
嗨,lorenz,当我使用['uident']时,会在fe_会话表中创建一个条目,但是$GLOBALS['TSFE']->fe_user->user['username']在我的调试输出中保持为空。使用['uident_text']时,不会在fe_会话表中创建任何条目。谢谢你的帮助还有其他人吗?