Files
cms-core/Documentation/Changelog/11.0/Breaking-92801-RemovedFailedLoginFunctionalityFromUserAuthenticationObject.rst
T

58 lines
2.0 KiB
ReStructuredText

.. include:: /Includes.rst.txt
.. _breaking-92801:
=======================================================================================
Breaking: #92801 - Removed "Failed Login" functionality from User Authentication object
=======================================================================================
See :issue:`92801`
Description
===========
The functionality to send an email to a defined sender was previously hard-coded
into the API class :php:`AbstractUserAuthentication` and activated specifically for
Backend Users via the option :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['warning_email_addr']`.
With some custom implementation it was also possible to use a hook to
enable this for frontend users, but the API was not clean.
The backend-user specific logic is now extracted into a hook, so it is possible
to replace this functionality with a custom notification API.
For this reason, the following public properties and methods within
:php:`AbstractUserAuthentication` and its subclasses have been removed:
* :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->warningEmail`
* :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->warningPeriod`
* :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->warningMax`
* :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->checkLogFailures()`
Impact
======
Using one of the public properties in custom PHP will trigger a PHP Warning.
Calling the public PHP method will result in a fatal PHP error.
Affected Installations
======================
TYPO3 installations with third-party extensions and custom PHP code that is
related to failed login notifications, and rely on the existing login
notification code.
Migration
=========
As the properties were public, they made it possible to override the
warningMax / warningPeriod values via hooks and middlewares in PHP.
Instead it is recommended to override this functionality via a hook the same way
the new hook in EXT:backend is registered within PHP.
.. index:: Backend, PHP-API, FullyScanned, ext:core