Zum Inhalt springen

fe_login 4.3

Erstellt am 12. Mai 2010 · Noch keine Antworten

Tags: Frage

McGregor ·

Hallo!

Ich habe einige Schwierigkeiten beim einloggen eines FE-Users in meiner eigenen Extension. Scheinbar hat sich bei der Authentifizierung seit 4.3.x etwas geändert.
Hier nun der Code der funktioniert. Viel Spaß

$this->pi_USER_INT_obj = 1;

$post = t3lib_div::_POST();
$content = '';
if (isset($post['username']) && isset($post['password'])) {
	if (($post['username'] != '') && ($post['password'] != '')) {
		// LOGIN
		$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
		$loginData = array(
				'uname'=>$post['username'],
				'uident'=>$post['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']);
		$ok = $GLOBALS['TSFE']->fe_user->compareUident($user,$loginData);
		if ($ok) {
			// eingeloggt
			$GLOBALS['TSFE']->fe_user->fetchGroupData(); 
			$GLOBALS['TSFE']->fe_user->createUserSession($user);
			$GLOBALS["TSFE"]->fe_user->loginSessionStarted = TRUE;
			$GLOBALS['TSFE']->loginUser = 1;
			$GLOBALS['TSFE']->fe_user->start();
			$content .= 'eingeloggt ...';
		} else {
			// nicht eingeloggt
			$content .= 'Username / Passwort falsch';
		}
	}
}

$content='
	<form action="" method="POST">
		Username: <input type="text" name="username" value=""><br>
		Password: <input type="password" name="password" value=""><br>
		<input type="submit" name="submit_button" value="Send">
	</form>
';

return $this->pi_wrapInBaseClass($content);