[!!!][TASK] Remove constant TYPO3_PROCEED_IF_NO_USER 03/45503/2
authorBenni Mack <benni@typo3.org>
Wed, 30 Dec 2015 12:31:24 +0000 (13:31 +0100)
committerBenni Mack <benni@typo3.org>
Wed, 30 Dec 2015 13:47:56 +0000 (14:47 +0100)
The constant TYPO3_PROCEED_IF_NO_USER was removed. This option is not necessary anymore, as it is taken care of by the Backend Routing now.

Resolves: #72476
Releases: master
Change-Id: Iecc31a6749fbc591ec72a1477a3255cf82738c9d
Reviewed-on: https://review.typo3.org/45503
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/backend/Classes/Http/AjaxRequestHandler.php
typo3/sysext/backend/Classes/Http/Application.php
typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php
typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-72476-PHPConstantTYPO3_PROCEED_IF_NO_USERRemoved.rst [new file with mode: 0644]

index 02a543b..9b96f7a 100644 (file)
@@ -35,7 +35,6 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  *
  * Due to legacy reasons, the actual logic is in EXT:core/Http/AjaxRequestHandler which will eventually
  * be moved into this class.
- * In the future, the logic for "TYPO3_PROCEED_IF_NO_USER" will be moved in here as well.
  */
 class AjaxRequestHandler implements RequestHandlerInterface
 {
index faa247b..fe33adf 100644 (file)
@@ -113,15 +113,9 @@ class Application implements ApplicationInterface
      */
     protected function defineAdditionalEntryPointRelatedConstants()
     {
-        $currentScript = GeneralUtility::getIndpEnv('SCRIPT_NAME');
-
         // Activate "AJAX" handler when called with the GET variable ajaxID
         if (!empty(GeneralUtility::_GET('ajaxID'))) {
             $GLOBALS['TYPO3_AJAX'] = true;
-        // The following check is security relevant! DO NOT REMOVE!
-        } elseif (empty(GeneralUtility::_GET('M')) && substr($currentScript, -16) === '/typo3/index.php') {
-            // Allow backend login to work, disallow module access without authenticated backend user
-            define('TYPO3_PROCEED_IF_NO_USER', 1);
         }
     }
 }
index 2648c36..c648db9 100644 (file)
@@ -98,20 +98,13 @@ class BackendModuleRequestHandler implements RequestHandlerInterface
      */
     protected function boot()
     {
-        // Evaluate the constant for skipping the BE user check for the bootstrap, will be done without the constant at a later point
-        if (defined('TYPO3_PROCEED_IF_NO_USER') && TYPO3_PROCEED_IF_NO_USER) {
-            $proceedIfNoUserIsLoggedIn = true;
-        } else {
-            $proceedIfNoUserIsLoggedIn = false;
-        }
-
         $this->bootstrap->checkLockedBackendAndRedirectOrDie()
             ->checkBackendIpOrDie()
             ->checkSslBackendAndRedirectIfNeeded()
             ->initializeBackendRouter()
-            ->loadExtensionTables(true)
+            ->loadExtensionTables()
             ->initializeBackendUser()
-            ->initializeBackendAuthentication($proceedIfNoUserIsLoggedIn)
+            ->initializeBackendAuthentication()
             ->initializeLanguageObject()
             ->initializeBackendTemplate()
             ->endOutputBufferingAndCleanPreviousOutput()
index 7b9c0aa..69fc052 100644 (file)
@@ -2302,9 +2302,8 @@ This is a dump of the failures:
     /**
      * Check if user is logged in and if so, call ->fetchGroupData() to load group information and
      * access lists of all kind, further check IP, set the ->uc array and send login-notification email if required.
-     * If no user is logged in the default behaviour is to exit with an error message,
-     * but this will happen ONLY if the constant TYPO3_PROCEED_IF_NO_USER is set TRUE.
-     * This function is called right after ->start() in fx. the TYPO3 CMS bootsrap
+     * If no user is logged in the default behaviour is to exit with an error message.
+     * This function is called right after ->start() in fx. the TYPO3 Bootstrap.
      *
      * @param bool $proceedIfNoUserIsLoggedIn if this option is set, then there won't be a redirect to the login screen of the Backend - used for areas in the backend which do not need user rights like the login page.
      * @throws \RuntimeException
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-72476-PHPConstantTYPO3_PROCEED_IF_NO_USERRemoved.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-72476-PHPConstantTYPO3_PROCEED_IF_NO_USERRemoved.rst
new file mode 100644 (file)
index 0000000..af4522f
--- /dev/null
@@ -0,0 +1,28 @@
+================================================================
+Breaking: #72476 - PHP Constant TYPO3_PROCEED_IF_NO_USER removed
+================================================================
+
+Description
+===========
+
+The PHP constant ``TYPO3_PROCEED_IF_NO_USER`` was removed.
+
+
+Impact
+======
+
+Any checks on this constant will result in a fatal PHP error.
+
+Any definition in custom entry-scripts of extensions will have no effect anymore.
+
+
+Affected Installations
+======================
+
+Installations with custom entry-points for the TYPO3 Backend.
+
+
+Migration
+=========
+
+Use a custom RequestHandler, the Backend Routing, AJAX Registration or the Module Configuration for skipping the user authentication when necessary.
\ No newline at end of file