[TYPO3-german] Automatischer Login eines FE-Users

sebastian stephan stephan at webit.de
Mon May 14 10:03:02 CEST 2007


Johannes Hentrich schrieb:
> Hallo,
> 
> ich habe ein Problem mit der automatischen Anmeldung eines FE-Users.
> 
> Die Authentifizierung erfolgt gegen einen externen Dienstleister.
> Wenn diese positiv ausfällt, wird der User auf eine Typo3-Seite 
> weitergeleitet, wo dieser autmaotisch eingeloggt werden soll.
> 
> Dazu wrd folgendes PHP-Skript verwendet (vom externen Diensleister 
> angegeben):
> 
> <?
> function t3Login()
> {
> $_POST['logintype'] = 'login';
> $_POST['pid'] = 20; // pid des sys-ordners für fe-benutzergruppe/-user
> $_POST['user'] = 'dummy';
> $_POST['pass'] = 'pwd';
> $GLOBALS['TSFE']->initFEuser();
> $GLOBALS['TSFE']->initUserGroups();
> $GLOBALS['TSFE']->storeSessionData();
> }
> t3Login();
> ?>
> 
> Ich habe das PHP-Skript über ein Inhaltselement "Skript" auf die 
> Zielseite eingebunden, auf die User nach der Authentifizierung beim 
> externen Dienstleister landet. Typo3 findet das Skript, aber der FE-User 
> wird nicht eingeloggt :-(
> Automatischer
> Hat jemand eine Idee, was falsch läuft? Für jeden Hinweis wäre ich 
> außerordentlich dankbar.
> 
> Gruß
> Johannes

hallo johannes

ich hatte letztens ein ähnliches problem und habe folgene lösung gefunden.

$loginData = array(
	'uname' => 'username',
	'uident'=> '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']);
$login_success = $GLOBALS['TSFE']->fe_user->compareUident($user,$loginData);
if($login_success){
	$GLOBALS['TSFE']->fe_user->createUserSession($user);
}

soweit ich das verstanden hab erfolgt der eigentlich login durch das 
erstellen einer entsprechenden userSession. hoffe das hilft dir.

grüße
sebastian


More information about the TYPO3-german mailing list