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();¶
Alle existierende User-Gruppen zurückgeben
\nn\t3::FrontendUser()->getAvailableUserGroups();
@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 = []
);¶
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