51 lines
2.0 KiB
ReStructuredText
51 lines
2.0 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _breaking-88527:
|
|
|
|
==============================================================================
|
|
Breaking: #88527 - Overriding custom values in User Authentication derivatives
|
|
==============================================================================
|
|
|
|
See :issue:`88527`
|
|
|
|
Description
|
|
===========
|
|
|
|
Due to some restructuring of :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication` and its direct sub-classes
|
|
:php:`TYPO3\CMS\Core\Authentication\BackendUserAuthentication` (a.k.a. :php:`$BE_USER`) and :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication`,
|
|
various settings are now directly initiated and set in the respective constructor of each PHP class.
|
|
|
|
Following this, the properties :php:`sessionTimeout`, :php:`gc_time` and :php:`sessionDataLifetime` are set already
|
|
when the constructor is called. Before this was the case when :php:`start()` was called.
|
|
|
|
In addition, the property :php:`loginType` must be set for any subclass on instantiation. Previously
|
|
this was possible to be set just before :php:`start()` was called.
|
|
|
|
The previous behavior allowed to override certain parameters to be evaluated just before :php:`start()`.
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
Setting any global variables between the constructor method and :php:`start()` will have no effect, as
|
|
this is transferred and evaluated at the public properties already when the constructor is called.
|
|
|
|
Subclassing :php:`AbstractUserAuthentication` without setting :php:`loginType` will trigger an exception
|
|
on instantiation.
|
|
|
|
|
|
Affected Installations
|
|
======================
|
|
|
|
Any TYPO3 installation where a custom UserAuthentication instantiation or sub-class is in place, and the setting
|
|
order was changed between calling the constructor and the method :php:`start()`, which is considered a very rare case.
|
|
|
|
|
|
Migration
|
|
=========
|
|
|
|
Consider using a proper subclass and a custom constructor method, or set all properties properly before
|
|
the constructor is called (default values of class members).
|
|
|
|
.. index:: PHP-API, NotScanned
|