[!!!][TASK] Avoid TSFE->fe_user
TypoScriptFrontendController->fe_user is the current FrontendUserAuthentication object. It is set when constructing the instance. Since TypoScriptFrontendController is also still set as $GLOBALS['TSFE'], some extensions tend to fetch the current FE user from this global state, and sometimes even inject that into other classes like repositories. Extension felogin is a victim here: It models some state of FrontendUserAuthentication in the service object 'UserService', to then inject this into repositories and other classes. This indirection is an anti-pattern. The current Frontend user is already available either as Request attribute 'frontend.user', and a limited list of user details is also available as context aspect. The patch removes TSFE->fe_user entirely and dissolves the offending felogin class. Various other core usages are adapted as well to avoid fetching this state from TypoScriptFrontendController. Resolves: #102605 Releases: main Change-Id: Ibc33cefa2b24658406a7c0f7ce8fd80eaf7c9f3b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82089 Reviewed-by:Sascha Nowak <sascha.nowak@netlogix.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech>
Showing
- typo3/sysext/core/Classes/ExpressionLanguage/FunctionsProvider/Typo3ConditionFunctionsProvider.php 3 additions, 4 deletions...age/FunctionsProvider/Typo3ConditionFunctionsProvider.php
- typo3/sysext/core/Classes/ExpressionLanguage/RequestWrapper.php 9 additions, 0 deletions...sysext/core/Classes/ExpressionLanguage/RequestWrapper.php
- typo3/sysext/core/Classes/FormProtection/FormProtectionFactory.php 1 addition, 2 deletions...ext/core/Classes/FormProtection/FormProtectionFactory.php
- typo3/sysext/core/Classes/Messaging/FlashMessageQueue.php 9 additions, 4 deletionstypo3/sysext/core/Classes/Messaging/FlashMessageQueue.php
- typo3/sysext/core/Documentation/Changelog/13.0/Breaking-102605-TSFE-fe_userRemoved.rst 85 additions, 0 deletions...on/Changelog/13.0/Breaking-102605-TSFE-fe_userRemoved.rst
- typo3/sysext/felogin/Classes/Controller/LoginController.php 4 additions, 11 deletionstypo3/sysext/felogin/Classes/Controller/LoginController.php
- typo3/sysext/felogin/Classes/Domain/Repository/FrontendUserGroupRepository.php 7 additions, 24 deletions...Classes/Domain/Repository/FrontendUserGroupRepository.php
- typo3/sysext/felogin/Classes/Domain/Repository/FrontendUserRepository.php 19 additions, 65 deletions...ogin/Classes/Domain/Repository/FrontendUserRepository.php
- typo3/sysext/felogin/Classes/Redirect/RedirectModeHandler.php 8 additions, 22 deletions...3/sysext/felogin/Classes/Redirect/RedirectModeHandler.php
- typo3/sysext/felogin/Classes/Service/UserService.php 0 additions, 61 deletionstypo3/sysext/felogin/Classes/Service/UserService.php
- typo3/sysext/felogin/Tests/Functional/Domain/Repository/FrontendUserGroupRepositoryTest.php 4 additions, 26 deletions...nal/Domain/Repository/FrontendUserGroupRepositoryTest.php
- typo3/sysext/felogin/Tests/Functional/Domain/Repository/FrontendUserRepositoryTest.php 32 additions, 63 deletions...nctional/Domain/Repository/FrontendUserRepositoryTest.php
- typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php 1 addition, 3 deletionstypo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php
- typo3/sysext/form/Classes/Domain/Runtime/FormRuntime.php 1 addition, 1 deletiontypo3/sysext/form/Classes/Domain/Runtime/FormRuntime.php
- typo3/sysext/form/Tests/Functional/Domain/Runtime/FormRuntimeTest.php 4 additions, 5 deletions.../form/Tests/Functional/Domain/Runtime/FormRuntimeTest.php
- typo3/sysext/form/Tests/Functional/ViewHelpers/RenderFormValueViewHelperTest.php 4 additions, 3 deletions.../Functional/ViewHelpers/RenderFormValueViewHelperTest.php
- typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php 10 additions, 2 deletions.../frontend/Classes/ContentObject/ContentObjectRenderer.php
- typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php 1 addition, 11 deletions...ntend/Classes/Controller/TypoScriptFrontendController.php
- typo3/sysext/frontend/Classes/Middleware/PreviewSimulator.php 2 additions, 6 deletions...3/sysext/frontend/Classes/Middleware/PreviewSimulator.php
- typo3/sysext/frontend/Classes/Middleware/TypoScriptFrontendInitialization.php 1 addition, 7 deletions...d/Classes/Middleware/TypoScriptFrontendInitialization.php
Please register or sign in to comment