AfterUserLoggedInEvent¶
New in version 12.3
The event replaces the deprecated hook
$GLOBALS
.
New in version 13.0
The event is also dispatched, when a successful frontend user login is performed.
The purpose of the PSR-14 event
\TYPO3\
is to trigger any kind of action when a backend or frontend user has been
successfully logged in.
The TYPO3 Core itself uses this event in the TYPO3 backend to send an email to a user, if the user has successfully logged in. See EXT:backend/Classes/Security/EmailLoginNotification.php (GitHub).
Example¶
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Authentication\EventListener;
use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
use TYPO3\CMS\Core\Authentication\Event\AfterUserLoggedInEvent;
#[AsEventListener(
identifier: 'my-extension/after-user-logged-in',
)]
final readonly class MyEventListener
{
public function __invoke(AfterUserLoggedInEvent $event): void
{
if (
$event->getUser() instanceof BackendUserAuthentication
&& $event->getUser()->isAdmin()
) {
// Do something like: Clear all caches after login
}
}
}
New in version 13.0
The PHP attribute \TYPO3\
has been
introduced to tag a PHP class as an event listener. Alternatively, or if you
need to be compatible with older TYPO3 versions, you can also register an
event listener via the Configuration/
file. Switch to
an older version of this page for an example or have a look at the section
Implementing an event listener in your extension.
API¶
- class AfterUserLoggedInEvent ¶
-
- Fully qualified name
-
\TYPO3\
CMS\ Core\ Authentication\ Event\ After User Logged In Event
Event fired after a user has been actively logged in to backend (incl. possible MFA) or frontend.
- getUser ( ) ¶
-
- Returns
-
\TYPO3\
CMS\ Core\ Authentication\ Abstract User Authentication
- getRequest ( ) ¶
-
- Returns
-
?\
Psr\ Http\ Message\ Server Request Interface