Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TYPO3 6.1-如何通过代码登录fe_用户?_Typo3_Typo3 6.1.x - Fatal编程技术网

TYPO3 6.1-如何通过代码登录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' =>

我正在使用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'  => '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_会话表中创建任何条目。谢谢你的帮助还有其他人吗?