‪TYPO3CMS  10.4
FrontendUserAuthentication.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
25 
30 {
35  public ‪$loginType = 'FE';
36 
41  public ‪$formfield_uname = 'user';
42 
47  public ‪$formfield_uident = 'pass';
48 
53  public ‪$formfield_status = 'logintype';
54 
61  public ‪$formfield_permanent = 'permalogin';
62 
67  protected ‪$sessionDataLifetime = 86400;
68 
77  public ‪$sessionTimeout = 6000;
78 
83  public ‪$user_table = 'fe_users';
84 
89  public ‪$username_column = 'username';
90 
95  public ‪$userident_column = 'password';
96 
101  public ‪$userid_column = 'uid';
102 
107  public ‪$lastLogin_column = 'lastlogin';
108 
112  public ‪$usergroup_column = 'usergroup';
113 
117  public ‪$usergroup_table = 'fe_groups';
118 
123  public ‪$enablecolumns = [
124  'deleted' => 'deleted',
125  'disabled' => 'disable',
126  'starttime' => 'starttime',
127  'endtime' => 'endtime'
128  ];
129 
133  public ‪$groupData = [
134  'title' => [],
135  'uid' => [],
136  'pid' => []
137  ];
138 
143  public ‪$TSdataArray = [];
144 
148  public ‪$userTS = [];
149 
153  public ‪$userTSUpdated = false;
154 
158  public ‪$sesData_change = false;
159 
163  public ‪$userData_change = false;
164 
168  public ‪$is_permanent = false;
169 
173  protected ‪$loginHidden = false;
174 
181  public ‪$dontSetCookie = true;
182 
187  public ‪$sendNoCacheHeaders = false;
188 
189  public function ‪__construct()
190  {
191  $this->name = ‪self::getCookieName();
192  $this->checkPid = ‪$GLOBALS['TYPO3_CONF_VARS']['FE']['checkFeUserPid'];
193  $this->lifetime = (int)‪$GLOBALS['TYPO3_CONF_VARS']['FE']['lifetime'];
194  $this->sessionTimeout = (int)‪$GLOBALS['TYPO3_CONF_VARS']['FE']['sessionTimeout'];
195  if ($this->sessionTimeout > 0 && $this->sessionTimeout < $this->lifetime) {
196  // If server session timeout is non-zero but less than client session timeout: Copy this value instead.
197  $this->sessionTimeout = ‪$this->lifetime;
198  }
199  $this->sessionDataLifetime = (int)‪$GLOBALS['TYPO3_CONF_VARS']['FE']['sessionDataLifetime'];
200  if ($this->sessionDataLifetime <= 0) {
201  $this->sessionDataLifetime = 86400;
202  }
203  parent::__construct();
204  }
205 
211  public static function ‪getCookieName()
212  {
213  $configuredCookieName = trim(‪$GLOBALS['TYPO3_CONF_VARS']['FE']['cookieName']);
214  if (empty($configuredCookieName)) {
215  $configuredCookieName = 'fe_typo_user';
216  }
217  return $configuredCookieName;
218  }
219 
226  public function ‪getNewSessionRecord($tempuser)
227  {
228  $insertFields = parent::getNewSessionRecord($tempuser);
229  $insertFields['ses_permanent'] = $this->is_permanent ? 1 : 0;
230  return $insertFields;
231  }
232 
239  public function ‪isSetSessionCookie()
240  {
241  return ($this->newSessionID || $this->forceSetCookie)
242  && ((int)$this->lifetime === 0 || !isset($this->user['ses_permanent']) || !$this->user['ses_permanent']);
243  }
244 
251  public function ‪isRefreshTimeBasedCookie()
252  {
253  return $this->lifetime > 0 && isset($this->user['ses_permanent']) && $this->user['ses_permanent'];
254  }
255 
262  public function ‪getLoginFormData()
263  {
264  $loginData = parent::getLoginFormData();
265  if (‪$GLOBALS['TYPO3_CONF_VARS']['FE']['permalogin'] == 0 || ‪$GLOBALS['TYPO3_CONF_VARS']['FE']['permalogin'] == 1) {
266  $isPermanent = GeneralUtility::_POST($this->formfield_permanent);
267  if (strlen($isPermanent) != 1) {
268  $isPermanent = ‪$GLOBALS['TYPO3_CONF_VARS']['FE']['permalogin'];
269  } elseif (!$isPermanent) {
270  // To make sure the user gets a session cookie and doesn't keep a possibly existing time based cookie,
271  // we need to force setting the session cookie here
272  $this->forceSetCookie = true;
273  }
274  $isPermanent = (bool)$isPermanent;
275  } elseif (‪$GLOBALS['TYPO3_CONF_VARS']['FE']['permalogin'] == 2) {
276  $isPermanent = true;
277  } else {
278  $isPermanent = false;
279  }
280  $loginData['permanent'] = $isPermanent;
281  $this->is_permanent = $isPermanent;
282  return $loginData;
283  }
284 
293  public function ‪createUserSession($tempuser)
294  {
295  // At this point we do not know if we need to set a session or a permanent cookie
296  // So we force the cookie to be set after authentication took place, which will
297  // then call setSessionCookie(), which will set a cookie with correct settings.
298  $this->dontSetCookie = false;
299  return parent::createUserSession($tempuser);
300  }
301 
309  public function ‪fetchGroupData()
310  {
311  $this->TSdataArray = [];
312  $this->userTS = [];
313  $this->userTSUpdated = false;
314  $this->groupData = [
315  'title' => [],
316  'uid' => [],
317  'pid' => []
318  ];
319  // Setting default configuration:
320  $this->TSdataArray[] = ‪$GLOBALS['TYPO3_CONF_VARS']['FE']['defaultUserTSconfig'];
321  // Get the info data for auth services
322  $authInfo = $this->‪getAuthInfoArray();
323  if (is_array($this->user)) {
324  $this->logger->debug('Get usergroups for user', [
325  $this->userid_column => $this->user[$this->userid_column],
326  $this->username_column => $this->user[$this->username_column]
327  ]);
328  } else {
329  $this->logger->debug('Get usergroups for "anonymous" user');
330  }
331  $groupDataArr = [];
332  // Use 'auth' service to find the groups for the user
333  $subType = 'getGroups' . ‪$this->loginType;
335  foreach ($this->‪getAuthServices($subType, [], $authInfo) as $serviceObj) {
336  ‪$groupData = $serviceObj->getGroups($this->user, $groupDataArr);
337  if (is_array(‪$groupData) && !empty(‪$groupData)) {
338  // Keys in $groupData should be unique ids of the groups (like "uid") so this function will override groups.
339  $groupDataArr = ‪$groupData + $groupDataArr;
340  }
341  }
342  if (empty($groupDataArr)) {
343  $this->logger->debug('No usergroups found by services');
344  }
345  if (!empty($groupDataArr)) {
346  $this->logger->debug(count($groupDataArr) . ' usergroup records found by services');
347  }
348  // Use 'auth' service to check the usergroups if they are really valid
349  foreach ($groupDataArr as ‪$groupData) {
350  // By default a group is valid
351  $validGroup = true;
352  $subType = 'authGroups' . ‪$this->loginType;
353  foreach ($this->‪getAuthServices($subType, [], $authInfo) as $serviceObj) {
354  // we assume that the service defines the authGroup function
355  if (!$serviceObj->authGroup($this->user, ‪$groupData)) {
356  $validGroup = false;
357  $this->logger->debug($subType . ' auth service did not auth group', [
358  'uid ' => ‪$groupData['uid'],
359  'title' => ‪$groupData['title'],
360  ]);
361  break;
362  }
363  }
364  if ($validGroup && (string)‪$groupData['uid'] !== '') {
365  $this->groupData['title'][‪$groupData['uid']] = ‪$groupData['title'];
366  $this->groupData['uid'][‪$groupData['uid']] = ‪$groupData['uid'];
367  $this->groupData['pid'][‪$groupData['uid']] = ‪$groupData['pid'];
368  $this->groupData['TSconfig'][‪$groupData['uid']] = ‪$groupData['TSconfig'];
369  }
370  }
371  if (!empty($this->groupData) && !empty($this->groupData['TSconfig'])) {
372  // TSconfig: collect it in the order it was collected
373  foreach ($this->groupData['TSconfig'] as $TSdata) {
374  $this->TSdataArray[] = $TSdata;
375  }
376  $this->TSdataArray[] = $this->user['TSconfig'];
377  // Sort information
378  ksort($this->groupData['title']);
379  ksort($this->groupData['uid']);
380  ksort($this->groupData['pid']);
381  }
382  return !empty($this->groupData['uid']) ? count($this->groupData['uid']) : 0;
383  }
384 
391  public function ‪getUserTSconf()
392  {
393  if (!$this->userTSUpdated) {
394  // Parsing the user TS (or getting from cache)
395  $this->TSdataArray = ‪TypoScriptParser::checkIncludeLines_array($this->TSdataArray);
396  ‪$userTS = implode(LF . '[GLOBAL]' . LF, $this->TSdataArray);
397  $parseObj = GeneralUtility::makeInstance(TypoScriptParser::class);
398  $parseObj->parse(‪$userTS);
399  $this->userTS = $parseObj->setup;
400  $this->userTSUpdated = true;
401  }
402  return ‪$this->userTS;
403  }
404 
405  /*****************************************
406  *
407  * Session data management functions
408  *
409  ****************************************/
418  public function ‪storeSessionData()
419  {
420  // Saves UC and SesData if changed.
421  if ($this->userData_change) {
422  $this->‪writeUC();
423  }
424 
425  if ($this->sesData_change && $this->id) {
426  if (empty($this->sessionData)) {
427  // Remove session-data
428  $this->‪removeSessionData();
429  // Remove cookie if not logged in as the session data is removed as well
430  if (empty($this->user['uid']) && !$this->loginHidden && $this->‪isCookieSet()) {
431  $this->‪removeCookie($this->name);
432  }
433  } elseif (!$this->‪isExistingSessionRecord($this->id)) {
434  $sessionRecord = $this->‪getNewSessionRecord([]);
435  $sessionRecord['ses_anonymous'] = 1;
436  $sessionRecord['ses_data'] = serialize($this->sessionData);
437  $updatedSession = $this->‪getSessionBackend()->‪set($this->id, $sessionRecord);
438  $this->user = array_merge($this->user ?? [], $updatedSession);
439  // Now set the cookie (= fix the session)
440  $this->‪setSessionCookie();
441  } else {
442  // Update session data
443  $insertFields = [
444  'ses_data' => serialize($this->sessionData)
445  ];
446  $updatedSession = $this->‪getSessionBackend()->‪update($this->id, $insertFields);
447  $this->user = array_merge($this->user ?? [], $updatedSession);
448  }
449  }
450  }
451 
455  public function ‪removeSessionData()
456  {
457  if (!empty($this->sessionData)) {
458  $this->sesData_change = true;
459  }
460  $this->sessionData = [];
461 
462  if ($this->‪isExistingSessionRecord($this->id)) {
463  // Remove session record if $this->user is empty is if session is anonymous
464  if ((empty($this->user) && !$this->loginHidden) || $this->user['ses_anonymous']) {
465  $this->‪getSessionBackend()->‪remove($this->id);
466  } else {
467  $this->‪getSessionBackend()->‪update($this->id, [
468  'ses_data' => ''
469  ]);
470  }
471  }
472  }
473 
482  protected function ‪performLogoff()
483  {
484  $oldSession = [];
485  ‪$sessionData = [];
486  try {
487  // Session might not be loaded at this point, so fetch it
488  $oldSession = $this->‪getSessionBackend()->‪get($this->id);
489  ‪$sessionData = unserialize($oldSession['ses_data']);
491  // Leave uncaught, will unset cookie later in this method
492  }
493 
494  $keepSessionDataOnLogout = GeneralUtility::makeInstance(Features::class)
495  ->isFeatureEnabled('security.frontend.keepSessionDataOnLogout');
496 
497  if ($keepSessionDataOnLogout && !empty(‪$sessionData)) {
498  // Regenerate session as anonymous
499  $this->‪regenerateSessionId($oldSession, true);
500  $this->user = null;
501  } else {
502  parent::performLogoff();
503  }
504  }
505 
515  protected function ‪regenerateSessionId(array $existingSessionRecord = [], bool $anonymous = false)
516  {
517  if (empty($existingSessionRecord)) {
518  $existingSessionRecord = $this->‪getSessionBackend()->‪get($this->id);
519  }
520  $existingSessionRecord['ses_anonymous'] = (int)$anonymous;
521  if ($anonymous) {
522  $existingSessionRecord['ses_userid'] = 0;
523  }
524  parent::regenerateSessionId($existingSessionRecord, $anonymous);
525  // We force the cookie to be set later in the authentication process
526  $this->dontSetCookie = false;
527  }
528 
538  public function ‪getKey($type, $key)
539  {
540  if (!$key) {
541  return null;
542  }
543  $value = null;
544  switch ($type) {
545  case 'user':
546  $value = $this->uc[$key];
547  break;
548  case 'ses':
549  $value = $this->‪getSessionData($key);
550  break;
551  }
552  return $value;
553  }
554 
566  public function ‪setKey($type, $key, $data)
567  {
568  if (!$key) {
569  return;
570  }
571  switch ($type) {
572  case 'user':
573  if ($this->user['uid']) {
574  if ($data === null) {
575  unset($this->uc[$key]);
576  } else {
577  $this->uc[$key] = $data;
578  }
579  $this->userData_change = true;
580  }
581  break;
582  case 'ses':
583  $this->‪setSessionData($key, $data);
584  break;
585  }
586  }
587 
595  public function ‪setSessionData($key, $data)
596  {
597  $this->sesData_change = true;
598  if ($data === null) {
599  unset($this->sessionData[$key]);
600  return;
601  }
602  parent::setSessionData($key, $data);
603  }
604 
611  public function ‪setAndSaveSessionData($key, $data)
612  {
613  $this->‪setSessionData($key, $data);
614  $this->‪storeSessionData();
615  }
616 
622  public function ‪gc()
623  {
624  $this->‪getSessionBackend()->‪collectGarbage($this->gc_time, $this->sessionDataLifetime);
625  }
626 
633  public function ‪hideActiveLogin()
634  {
635  $this->user = null;
636  $this->loginHidden = true;
637  }
638 
644  public function ‪updateOnlineTimestamp()
645  {
646  if (!is_array($this->user)
647  || !$this->user['uid']
648  || $this->user['uid'] === PHP_INT_MAX // Simulated preview user (flagged with PHP_INT_MAX uid)
649  || $this->user['is_online'] >= ‪$GLOBALS['EXEC_TIME'] - 60) {
650  return;
651  }
652  $dbConnection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable($this->user_table);
653  $dbConnection->update(
654  $this->user_table,
655  ['is_online' => ‪$GLOBALS['EXEC_TIME']],
656  ['uid' => (int)$this->user['uid']]
657  );
658  $this->user['is_online'] = ‪$GLOBALS['EXEC_TIME'];
659  }
660 }
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$enablecolumns
‪array $enablecolumns
Definition: FrontendUserAuthentication.php:108
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\updateOnlineTimestamp
‪updateOnlineTimestamp()
Definition: FrontendUserAuthentication.php:619
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$user_table
‪string $user_table
Definition: FrontendUserAuthentication.php:75
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\$sessionData
‪array $sessionData
Definition: AbstractUserAuthentication.php:278
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$TSdataArray
‪array $TSdataArray
Definition: FrontendUserAuthentication.php:126
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\writeUC
‪writeUC($variable='')
Definition: AbstractUserAuthentication.php:1120
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$sendNoCacheHeaders
‪bool $sendNoCacheHeaders
Definition: FrontendUserAuthentication.php:162
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\getUserTSconf
‪array getUserTSconf()
Definition: FrontendUserAuthentication.php:366
‪TYPO3\CMS\Core\Session\Backend\SessionBackendInterface\get
‪array get(string $sessionId)
‪TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser
Definition: TypoScriptParser.php:37
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$lastLogin_column
‪string $lastLogin_column
Definition: FrontendUserAuthentication.php:95
‪TYPO3\CMS\Core\Session\Backend\SessionBackendInterface\collectGarbage
‪collectGarbage(int $maximumLifetime, int $maximumAnonymousLifetime=0)
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\createUserSession
‪array createUserSession($tempuser)
Definition: FrontendUserAuthentication.php:268
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\removeSessionData
‪removeSessionData()
Definition: FrontendUserAuthentication.php:430
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\storeSessionData
‪storeSessionData()
Definition: FrontendUserAuthentication.php:393
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\__construct
‪__construct()
Definition: FrontendUserAuthentication.php:164
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$userident_column
‪string $userident_column
Definition: FrontendUserAuthentication.php:85
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\regenerateSessionId
‪regenerateSessionId(array $existingSessionRecord=[], bool $anonymous=false)
Definition: FrontendUserAuthentication.php:490
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\getAuthInfoArray
‪array getAuthInfoArray()
Definition: AbstractUserAuthentication.php:1340
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\removeCookie
‪removeCookie($cookieName)
Definition: AbstractUserAuthentication.php:1024
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\setAndSaveSessionData
‪setAndSaveSessionData($key, $data)
Definition: FrontendUserAuthentication.php:586
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$formfield_uname
‪string $formfield_uname
Definition: FrontendUserAuthentication.php:39
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\hideActiveLogin
‪hideActiveLogin()
Definition: FrontendUserAuthentication.php:608
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$sesData_change
‪bool $sesData_change
Definition: FrontendUserAuthentication.php:138
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\getCookieName
‪static string getCookieName()
Definition: FrontendUserAuthentication.php:186
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$sessionDataLifetime
‪int $sessionDataLifetime
Definition: FrontendUserAuthentication.php:61
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$formfield_status
‪string $formfield_status
Definition: FrontendUserAuthentication.php:49
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\fetchGroupData
‪int fetchGroupData()
Definition: FrontendUserAuthentication.php:284
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$loginType
‪string $loginType
Definition: FrontendUserAuthentication.php:34
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\performLogoff
‪performLogoff()
Definition: FrontendUserAuthentication.php:457
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\isExistingSessionRecord
‪bool isExistingSessionRecord($id)
Definition: AbstractUserAuthentication.php:1039
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\isRefreshTimeBasedCookie
‪bool isRefreshTimeBasedCookie()
Definition: FrontendUserAuthentication.php:226
‪TYPO3\CMS\Core\Session\Backend\SessionBackendInterface\update
‪array update(string $sessionId, array $sessionData)
‪TYPO3\CMS\Core\Session\Backend\SessionBackendInterface\set
‪array set(string $sessionId, array $sessionData)
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\getSessionBackend
‪SessionBackendInterface getSessionBackend()
Definition: AbstractUserAuthentication.php:1502
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\gc
‪gc()
Definition: FrontendUserAuthentication.php:597
‪TYPO3\CMS\Core\Configuration\Features
Definition: Features.php:56
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$is_permanent
‪bool $is_permanent
Definition: FrontendUserAuthentication.php:146
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$userTS
‪array $userTS
Definition: FrontendUserAuthentication.php:130
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$userTSUpdated
‪bool $userTSUpdated
Definition: FrontendUserAuthentication.php:134
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$usergroup_table
‪string $usergroup_table
Definition: FrontendUserAuthentication.php:103
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\getSessionData
‪mixed getSessionData($key)
Definition: AbstractUserAuthentication.php:1206
‪TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser\checkIncludeLines_array
‪static array checkIncludeLines_array(array $array)
Definition: TypoScriptParser.php:1190
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$usergroup_column
‪string $usergroup_column
Definition: FrontendUserAuthentication.php:99
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\getAuthServices
‪Traversable getAuthServices(string $subType, array $loginData, array $authInfo)
Definition: AbstractUserAuthentication.php:813
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\getNewSessionRecord
‪array getNewSessionRecord($tempuser)
Definition: FrontendUserAuthentication.php:201
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$loginHidden
‪bool $loginHidden
Definition: FrontendUserAuthentication.php:150
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\getLoginFormData
‪array getLoginFormData()
Definition: FrontendUserAuthentication.php:237
‪TYPO3\CMS\Core\Authentication\AuthenticationService
Definition: AuthenticationService.php:33
‪TYPO3\CMS\Core\Session\Backend\SessionBackendInterface\remove
‪bool remove(string $sessionId)
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$formfield_uident
‪string $formfield_uident
Definition: FrontendUserAuthentication.php:44
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\setSessionData
‪setSessionData($key, $data)
Definition: FrontendUserAuthentication.php:570
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$userid_column
‪string $userid_column
Definition: FrontendUserAuthentication.php:90
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\isSetSessionCookie
‪bool isSetSessionCookie()
Definition: FrontendUserAuthentication.php:214
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$dontSetCookie
‪bool $dontSetCookie
Definition: FrontendUserAuthentication.php:157
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$userData_change
‪bool $userData_change
Definition: FrontendUserAuthentication.php:142
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\setKey
‪setKey($type, $key, $data)
Definition: FrontendUserAuthentication.php:541
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\isCookieSet
‪bool isCookieSet()
Definition: AbstractUserAuthentication.php:1063
‪TYPO3\CMS\Frontend\Authentication
Definition: FrontendUserAuthentication.php:16
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication
Definition: FrontendUserAuthentication.php:30
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\setSessionCookie
‪setSessionCookie()
Definition: AbstractUserAuthentication.php:402
‪TYPO3\CMS\Core\Database\ConnectionPool
Definition: ConnectionPool.php:46
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$groupData
‪array $groupData
Definition: FrontendUserAuthentication.php:117
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$sessionTimeout
‪int $sessionTimeout
Definition: FrontendUserAuthentication.php:70
‪TYPO3\CMS\Core\Session\Backend\Exception\SessionNotFoundException
Definition: SessionNotFoundException.php:24
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$formfield_permanent
‪string $formfield_permanent
Definition: FrontendUserAuthentication.php:56
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\$lifetime
‪int $lifetime
Definition: AbstractUserAuthentication.php:149
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\getKey
‪mixed getKey($type, $key)
Definition: FrontendUserAuthentication.php:513
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication
Definition: AbstractUserAuthentication.php:51
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication\$username_column
‪string $username_column
Definition: FrontendUserAuthentication.php:80