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
| ➜ Go to source code of FrontendUser::getAvailableUserGroups()
\nn\t3::FrontendUser()->getCookie();
Holt den aktuellen fe_typo_user Cookie.
$cookie = \nn\t3::FrontendUser()->getCookie();
| @return string
\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
| ➜ Go to source code of FrontendUser::getCurrentUserGroups()
\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()->getSession();
Die aktuelle User-Session holen.
\nn\t3::FrontendUser()->getSession();
| @return \TYPO3\CMS\Core\Session\UserSession
\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($request = NULL);
Prüft, ob der User aktuell als FE-User eingeloggt ist. Früher: isset($GLOBALS['TSFE']) && $GLOBALS['TSFE']->loginUser
// Prüfen nach vollständiger Initialisierung des Front/Backends
\nn\t3::FrontendUser()->isLoggedIn();
// Prüfen anhand des JWT, z.B. in einem eID-script vor Authentifizierung
\nn\t3::FrontendUser()->isLoggedIn( $request );
@param ServerRequest $request
@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');
@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