From d9bca5745193c5cb723ed9762df1c276d869440d Mon Sep 17 00:00:00 2001 From: Benni Mack <benni@typo3.org> Date: Fri, 11 Nov 2016 16:24:42 +0100 Subject: [PATCH] [TASK] Initialize BackendUser options in constructor Instead of calling / setting properties from the outside, the backend user constructor can set options like lockIP centralized. This way, certain implementations from third-party extensions can just instantiate the object. Resolves: #78660 Releases: master Change-Id: If43ca2533968b54c842cbe01531fc6c33ee5352c Reviewed-on: https://review.typo3.org/50596 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Joerg Boesche <typo3@joergboesche.de> Tested-by: Joerg Boesche <typo3@joergboesche.de> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> --- .../Classes/Authentication/BackendUserAuthentication.php | 6 ++++++ typo3/sysext/core/Classes/Core/Bootstrap.php | 6 ------ .../Classes/Controller/TypoScriptFrontendController.php | 1 - 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php b/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php index e85d19caa018..e440b66fc68f 100644 --- a/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php +++ b/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php @@ -302,6 +302,12 @@ class BackendUserAuthentication extends \TYPO3\CMS\Core\Authentication\AbstractU parent::__construct(); $this->name = self::getCookieName(); $this->loginType = 'BE'; + $this->warningEmail = $GLOBALS['TYPO3_CONF_VARS']['BE']['warning_email_addr']; + $this->lockIP = $GLOBALS['TYPO3_CONF_VARS']['BE']['lockIP']; + $this->sessionTimeout = (int)$GLOBALS['TYPO3_CONF_VARS']['BE']['sessionTimeout']; + if (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_CLI) { + $this->dontSetCookie = true; + } } /** diff --git a/typo3/sysext/core/Classes/Core/Bootstrap.php b/typo3/sysext/core/Classes/Core/Bootstrap.php index 78ec569a06c6..defcbd53fc6d 100644 --- a/typo3/sysext/core/Classes/Core/Bootstrap.php +++ b/typo3/sysext/core/Classes/Core/Bootstrap.php @@ -1019,12 +1019,6 @@ class Bootstrap { /** @var $backendUser \TYPO3\CMS\Core\Authentication\BackendUserAuthentication */ $backendUser = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Authentication\BackendUserAuthentication::class); - $backendUser->warningEmail = $GLOBALS['TYPO3_CONF_VARS']['BE']['warning_email_addr']; - $backendUser->lockIP = $GLOBALS['TYPO3_CONF_VARS']['BE']['lockIP']; - $backendUser->sessionTimeout = (int)$GLOBALS['TYPO3_CONF_VARS']['BE']['sessionTimeout']; - if (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_CLI) { - $backendUser->dontSetCookie = true; - } // The global must be available very early, because methods below // might trigger code which relies on it. See: #45625 $GLOBALS['BE_USER'] = $backendUser; diff --git a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php index 7dc5094d942a..b976bcf412ee 100644 --- a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php +++ b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php @@ -1175,7 +1175,6 @@ class TypoScriptFrontendController // disable login-attempts to the backend account through this script // New backend user object $BE_USER = GeneralUtility::makeInstance(FrontendBackendUserAuthentication::class); - $BE_USER->lockIP = $GLOBALS['TYPO3_CONF_VARS']['BE']['lockIP']; // Object is initialized $BE_USER->start(); $BE_USER->unpack_uc(); -- GitLab