‪TYPO3CMS  ‪main
TYPO3\CMS\Workspaces\Authentication\PreviewUserAuthentication Class Reference
Inheritance diagram for TYPO3\CMS\Workspaces\Authentication\PreviewUserAuthentication:
TYPO3\CMS\Core\Authentication\BackendUserAuthentication TYPO3\CMS\Core\Authentication\AbstractUserAuthentication

Public Member Functions

 __construct ()
array false checkWorkspace (int|array $wsRec)
string getPagePermsClause ($perms)
int calcPerms ($row)
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
bool isAdmin ()
bool doesUserHaveAccess ($row, $perms)
int null isInWebMount ($idOrRow, $readPerms='')
 isSystemMaintainer (bool $pure=false)
bool check ($type, $value)
bool checkAuthMode ($table, $field, $value)
bool checkLanguageAccess ($langValue)
bool checkFullLanguagesAccess ($table, $record)
bool recordEditAccessInternals ($table, $idOrRow, $newRecord=false, $deletedRecord=false, $checkFullLanguageAccess=false)
bool mayMakeShortcut ()
 workspaceAllowsLiveEditingInTable (string $table)
 workspaceCanCreateNewRecord (string $table)
bool workspaceCheckStageForCurrent ($stage)
array getTSConfig ()
 getUserTsConfig ()
array returnWebmounts ()
 setWebmounts (array $mountPointUids, $append=false)
 initializeWebmountsForElementBrowser ()
bool jsConfirmation (int $bitmask)
 fetchGroupData ()
array getCategoryMountPoints ()
array getFileMountRecords ()
TYPO3 CMS Core Resource ResourceStorage[] getFileStorages ()
 evaluateUserSpecificFileFilterSettings ()
 getFilePermissions ()
 setWorkspace ($workspaceId)
bool setTemporaryWorkspace ($workspaceId)
int writelog ($type, $action, $error, $details_nr, $details, $data, $tablename='', $recuid='', $recpid='', $event_pid=-1, $NEWid='', $userId=0)
 backendCheckLogin (?ServerRequestInterface $request=null)
 initializeBackendLogin (?ServerRequestInterface $request=null)
 handleUserLoggedIn (?ServerRequestInterface $request=null)
 backendSetUC ()
 overrideUC ()
 resetUC ()
bool isUserAllowedToLogin ()
 logoff ()
int null getOriginalUserIdWhenInSwitchUserMode ()
 isMfaSetupRequired ()
 isImportEnabled ()
 isExportEnabled ()
 shallDisplayDebugInformation ()
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication
 initializeUserSessionManager (?UserSessionManager $userSessionManager=null)
 start (ServerRequestInterface $request)
 appendCookieToResponse (ResponseInterface $response, ?NormalizedParams $normalizedParams=null)
 checkAuthentication (ServerRequestInterface $request)
UserSession createUserSession (array $userRecordCandidate)
 enforceNewSessionId ()
 removeCookie ($cookieName=null)
 writeUC ()
 pushModuleData (string $module, mixed $data, bool $dontPersistImmediately=false)
mixed getModuleData (string $module, string $type='')
mixed getSessionData ($key)
 setSessionData ($key, $data)
 setAndSaveSessionData ($key, $data)
array getLoginFormData (ServerRequestInterface $request)
 isActiveLogin (ServerRequestInterface $request)
array processLoginData (array $loginData, ServerRequestInterface $request)
array getAuthInfoArray (ServerRequestInterface $request)
 writelog ($type, $action, $error, $details_nr, $details, $data, $tablename, $recuid, $recpid)
 setBeUserByUid ($uid)
 setBeUserByName ($name)
array getRawUserByUid ($uid)
array getRawUserByName ($name)
 getUserId ()
 getUserName ()
 getSession ()

Additional Inherited Members

- ‪Static Public Member Functions inherited from ‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
static getCookieName ()
- ‪Public Attributes inherited from ‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
const ROLE_SYSTEMMAINTAINER = 'systemMaintainer'
string $usergroup_column = 'usergroup'
string $usergroup_table = 'be_groups'
array $groupData
array $userGroupsUID = array( )
int $workspace = -99
array $workspaceRec = array( )
string $errorMsg = ''
string $user_table = 'be_users'
string $username_column = 'username'
string $userident_column = 'password'
string $userid_column = 'uid'
string $lastLogin_column = 'lastlogin'
array $enablecolumns
bool $writeStdLog = true
bool $writeAttemptLog = true
int $firstMainGroup = 0
array $uc_default
string $loginType = 'BE'
- ‪Public Attributes inherited from ‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication
string $name = ''
string $user_table = ''
string $usergroup_table = ''
string $username_column = ''
string $userident_column = ''
string $userid_column = ''
string $usergroup_column = ''
array $enablecolumns
bool $writeStdLog = false
bool $writeAttemptLog = false
bool $checkPid = true
int string null $checkPid_value = 0
array null $user
array $userGroups = []
string $loginType = ''
array $uc = []
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
 isMemberOfGroup (int $groupId)
array filterValidWebMounts (string $listOfWebMounts)
 prepareUserTsConfig ()
 initializeFileStorages ()
 workspaceInit ()
 initializeDbMountpointsInWorkspace ()
 hasEditAccessToLiveWorkspace ()
 checkWorkspaceCurrent ()
 setDefaultWorkspace ()
int getDefaultWorkspace ()
 releaseLockedRecords (int $userId)
 evaluateMfaRequirements ()
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication
 setSessionCookie ()
 shallSetSessionCookie ()
bool isSetSessionCookie ()
bool isRefreshTimeBasedCookie ()
 getAuthServiceConfiguration ()
 fetchPossibleUsers (array $loginData, bool $activeLogin, bool $isExistingSession, ?array $authenticatedUserFromSession, ServerRequestInterface $request)
Traversable getAuthServices (string $subType, array $loginData, ?array $authenticatedUserFromSession, ServerRequestInterface $request)
 regenerateSessionId ()
 updateLoginTimestamp (int $userId)
 fetchValidUserFromSessionOrDestroySession (bool $skipSessionUpdate=false)
 performLogoff ()
bool isCookieSet ()
 userConstraints ()
 unpack_uc ()
mixed removeSensitiveLoginDataForLoggingInfo ($data, bool $isUserRecord=false)
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
UserTsConfig $userTsConfig = null
bool $userTSUpdated = false
array null $checkWorkspaceCurrent_cache
TYPO3 CMS Core Resource ResourceStorage[] $fileStorages
array null $filePermissions
string $formfield_uname = 'username'
string $formfield_uident = 'userident'
string $formfield_status = 'login_status'
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication
string $lastLogin_column = ''
string $formfield_uname = ''
string $formfield_uident = ''
string $formfield_status = ''
bool $loginSessionStarted = false
bool $dontSetCookie = false
UserSession $userSession = null
UserSessionManager $userSessionManager
SetCookieBehavior $setCookie = SetCookieBehavior::None

Detailed Description

A backend-user like preview user with read-only permissions for a certain workspace is used for previewing a workspace in the frontend without having a full backend user available.


  • ‪no user[uid]
  • ‪cookie fetched from ADMCMD_prev cookie name
  • ‪read-only everywhere
  • ‪locked to a certain workspace > 0
  • ‪locked to the current page ID as webmount

This class explicitly does not derive from FrontendBackendUserAuthentication. As this user is only meant for using against GET/cookie of "ADMCMD_prev" = clicked on a preview link This user cannot use any admin panel / frontend editing capabilities.

Definition at line 45 of file PreviewUserAuthentication.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Workspaces\Authentication\PreviewUserAuthentication::__construct ( )


Reimplemented from TYPO3\CMS\Core\Authentication\BackendUserAuthentication.

Definition at line 47 of file PreviewUserAuthentication.php.

Member Function Documentation

◆ calcPerms()

int TYPO3\CMS\Workspaces\Authentication\PreviewUserAuthentication::calcPerms (   $row)

Has read permissions on the whole workspace, but nothing else


Reimplemented from TYPO3\CMS\Core\Authentication\BackendUserAuthentication.

Definition at line 106 of file PreviewUserAuthentication.php.

References TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_SHOW.

◆ checkWorkspace()

array false TYPO3\CMS\Workspaces\Authentication\PreviewUserAuthentication::checkWorkspace ( int|array  $wsRec)

Checking if a workspace is allowed for backend user This method is intentionally called with setTemporaryWorkspace() to check if the workspace exists.

array | int$wsRec‪If integer, workspace record is looked up, if array it is seen as a Workspace record with at least uid, title, members and adminusers columns. Can be faked for workspaces uid 0
‪array|false Output will also show how access was granted. For preview users, if the record exists, it's a go.

Reimplemented from TYPO3\CMS\Core\Authentication\BackendUserAuthentication.

Definition at line 60 of file PreviewUserAuthentication.php.

References TYPO3\CMS\Core\Database\Connection\PARAM_INT.

◆ getPagePermsClause()

string TYPO3\CMS\Workspaces\Authentication\PreviewUserAuthentication::getPagePermsClause (   $perms)

A preview user has read-only permissions, always.


Reimplemented from TYPO3\CMS\Core\Authentication\BackendUserAuthentication.

Definition at line 92 of file PreviewUserAuthentication.php.

References TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_SHOW.