FrontendUser¶
\nn\t3::FrontendUser()¶
Overview of Methods¶
\nn\t3::FrontendUser()->get();¶
Den aktuellen FE-User holen.
Alias zu \nn\t3::FrontendUser()->getCurrentUser();
\nn\t3::FrontendUser()->get();
Existiert auch als ViewHelper:
{nnt3:frontendUser.get(key:'first_name')}
{nnt3:frontendUser.get()->f:variable.set(name:'feUser')}
@return array\nn\t3::FrontendUser()->getAvailableUserGroups($returnRowData = false);¶
Alle existierende User-Gruppen zurückgeben.
Gibt ein assoziatives Array zurück, key ist die uid, value der title.
\nn\t3::FrontendUser()->getAvailableUserGroups();
Alternativ kann mit true der komplette Datensatz für die Benutzergruppen
zurückgegeben werden:
\nn\t3::FrontendUser()->getAvailableUserGroups( true );
@return array\nn\t3::FrontendUser()->getCookieName();¶
Cookie-Name des Frontend-User-Cookies holen.
Üblicherweise fe_typo_user, außer es wurde in der LocalConfiguration geändert.
\nn\t3::FrontendUser()->getCookieName();
return string
\nn\t3::FrontendUser()->getCurrentUser();¶
Array mit den Daten des aktuellen FE-Users holen.
\nn\t3::FrontendUser()->getCurrentUser();
@return array\nn\t3::FrontendUser()->getCurrentUserGroups($returnRowData = false);¶
Benutzergruppen des aktuellen FE-Users als Array holen. Die uids der Benutzergruppen werden im zurückgegebenen Array als Key verwendet.
// Minimalversion: Per default gibt Typo3 nur title, uid und pid zurück
\nn\t3::FrontendUser()->getCurrentUserGroups();          // [1 => ['title'=>'Gruppe A', 'uid' => 1, 'pid'=>5]]
// Mit true kann der komplette Datensatz für die fe_user_group aus der DB gelesen werden
\nn\t3::FrontendUser()->getCurrentUserGroups( true );    // [1 => [... alle Felder der DB] ]
@return array\nn\t3::FrontendUser()->getCurrentUserUid();¶
UID des aktuellen Frontend-Users holen
$uid = \nn\t3::FrontendUser()->getCurrentUserUid();
@return int\nn\t3::FrontendUser()->getGroups($returnRowData = false);¶
Benutzergruppen des aktuellen FE-User holen.
Alias zu \nn\t3::FrontendUser()->getCurrentUserGroups();
// nur title, uid und pid der Gruppen laden
\nn\t3::FrontendUser()->getGroups();
// kompletten Datensatz der Gruppen laden
\nn\t3::FrontendUser()->getGroups( true );
@return array\nn\t3::FrontendUser()->getLanguage();¶
Sprach-UID des aktuellen Users holen
$languageUid = \nn\t3::FrontendUser()->getLanguage();
@return int\nn\t3::FrontendUser()->getSessionData($key = NULL);¶
Session-Data für FE-User holen
\nn\t3::FrontendUser()->getSessionData('shop')
@return mixed\nn\t3::FrontendUser()->getSessionId();¶
Session-ID des aktuellen Frontend-Users holen
$sessionId = \nn\t3::FrontendUser()->getSessionId();
@return string\nn\t3::FrontendUser()->hasRole($roleUid);¶
Prüft, ob der User eine bestimmte Rolle hat.
\nn\t3::FrontendUser()->hasRole( $roleUid );
@param $role@return bool\nn\t3::FrontendUser()->isInUserGroup($feGroups = NULL);¶
Prüft, ob der aktuelle Frontend-User innerhalb einer bestimmte Benutzergruppe ist.
\nn\t3::FrontendUser()->isInUserGroup( 1 );
\nn\t3::FrontendUser()->isInUserGroup( ObjectStorage<FrontendUserGroup> );
\nn\t3::FrontendUser()->isInUserGroup( [FrontendUserGroup, FrontendUserGroup, ...] );
\nn\t3::FrontendUser()->isInUserGroup( [['uid'=>1, ...], ['uid'=>2, ...]] );
@return boolean\nn\t3::FrontendUser()->isLoggedIn();¶
Prüft, ob der User aktuell als FE-User eingeloggt ist. Früher: isset($GLOBALS[‘TSFE’]) && $GLOBALS[‘TSFE’]->loginUser
\nn\t3::FrontendUser()->isLoggedIn();
@return boolean\nn\t3::FrontendUser()->login($username, $password = NULL);¶
User manuell einloggen.
ab v10: Alias zu \nn\t3::FrontendUserAuthentication()->loginByUsername( $username );
\nn\t3::FrontendUser()->login('99grad');
\nn\t3::FrontendUser()->login('99grad', 'password');
@param $username@param $password@throws ReflectionException
\nn\t3::FrontendUser()->logout();¶
Aktuellen FE-USer manuell ausloggen
\nn\t3::FrontendUser()->logout();
@return void\nn\t3::FrontendUser()->removeCookie();¶
Aktuellen fe_typo_user-Cookie manuell löschen
\nn\t3::FrontendUser()->removeCookie()
@return void\nn\t3::FrontendUser()->resolveUserGroups($arr = [], $ignoreUids = []);¶
Wandelt ein Array oder eine kommaseparierte Liste mit Benutzergrupen-UIDs in
| fe_user_groups-Daten aus der Datenbank auf. Prüft auf geerbte Untergruppe.
\nn\t3::FrontendUser()->resolveUserGroups( [1,2,3] );
\nn\t3::FrontendUser()->resolveUserGroups( '1,2,3' );
@return array\nn\t3::FrontendUser()->setCookie($sessionId = NULL, $request = NULL);¶
Den fe_typo_user-Cookie manuell setzen.
Wird keine sessionID übergeben, sucht Typo3 selbst nach der Session-ID des FE-Users.
Bei Aufruf dieser Methode aus einer MiddleWare sollte der Request mit übergeben werden.
Dadurch kann z.B. der globale $_COOKIE-Wert und der cookieParams.fe_typo_user im Request
vor Authentifizierung über typo3/cms-frontend/authentication in einer eigenen MiddleWare
gesetzt werden. Hilfreich, falls eine Crossdomain-Authentifizierung erforderlich ist (z.B.
per Json Web Token / JWT).
\nn\t3::FrontendUser()->setCookie();
\nn\t3::FrontendUser()->setCookie( $sessionId );
\nn\t3::FrontendUser()->setCookie( $sessionId, $request );
@return void\nn\t3::FrontendUser()->setPassword($feUserUid = NULL, $password = NULL);¶
Passwort eines FE-Users ändern.
Alias zu \nn\t3::FrontendUserAuthentication()->setPassword().
\nn\t3::FrontendUser()->setPassword( 12, '123passwort$#' );
\nn\t3::FrontendUser()->setPassword( $frontendUserModel, '123Passwort#$' );
@return boolean\nn\t3::FrontendUser()->setSessionData($key = NULL, $val = NULL, $merge = true);¶
Session-Data für FE-User setzen
// Session-data für `shop` mit neuen Daten mergen (bereits existierende keys in `shop` werden nicht gelöscht)
\nn\t3::FrontendUser()->setSessionData('shop', ['a'=>1]));
// Session-data für `shop` überschreiben (`a` aus dem Beispiel oben wird gelöscht)
\nn\t3::FrontendUser()->setSessionData('shop', ['b'=>1], false));
@return mixed