Skip to content

Commit 9c64059

Browse files
author
roadiz-ci
committed
fix: Added LoginSuccessEventSubscriber to log user login to any firewall
1 parent 48eab0c commit 9c64059

File tree

7 files changed

+170
-0
lines changed

7 files changed

+170
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace RZ\Roadiz\CoreBundle\Security\EventSubscriber;
6+
7+
use Psr\Log\LoggerInterface;
8+
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
9+
use Symfony\Component\Security\Http\Event\LoginSuccessEvent;
10+
use Symfony\Contracts\Translation\TranslatorInterface;
11+
12+
final readonly class LoginSuccessEventSubscriber implements EventSubscriberInterface
13+
{
14+
public function __construct(private LoggerInterface $logger, private TranslatorInterface $translator)
15+
{
16+
}
17+
18+
public static function getSubscribedEvents(): array
19+
{
20+
return [
21+
LoginSuccessEvent::class => ['onLoginSuccess'],
22+
];
23+
}
24+
25+
public function onLoginSuccess(LoginSuccessEvent $event): void
26+
{
27+
$this->logger->info($this->translator->trans('User logged in successfully.'), [
28+
'username' => $event->getRequest()->get('_username'),
29+
'ip' => $event->getRequest()->getClientIp(),
30+
'firewall' => $event->getFirewallName(),
31+
]);
32+
}
33+
}

translations/core/messages.en.xlf

+41
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,47 @@
212212
<source>classic.login_password</source>
213213
<target state="final">Password login</target>
214214
</trans-unit>
215+
216+
<trans-unit id="user_id" xml:space="preserve">
217+
<source>user_id</source>
218+
<target state="translated">User ID</target>
219+
</trans-unit>
220+
<trans-unit id="user_email" xml:space="preserve">
221+
<source>user_email</source>
222+
<target state="translated">User email</target>
223+
</trans-unit>
224+
<trans-unit id="user_picture_url" xml:space="preserve">
225+
<source>user_picture_url</source>
226+
<target state="translated">User picture URL</target>
227+
</trans-unit>
228+
<trans-unit id="user_public_name" xml:space="preserve">
229+
<source>user_public_name</source>
230+
<target state="translated">User public name</target>
231+
</trans-unit>
232+
<trans-unit id="security" xml:space="preserve">
233+
<source>security</source>
234+
<target state="translated">Security</target>
235+
</trans-unit>
236+
<trans-unit id="authenticator" xml:space="preserve">
237+
<source>authenticator</source>
238+
<target state="translated">Authenticator</target>
239+
</trans-unit>
240+
<trans-unit id="entity_title" xml:space="preserve">
241+
<source>entity_title</source>
242+
<target state="translated">Entity title</target>
243+
</trans-unit>
244+
<trans-unit id="exception_class" xml:space="preserve">
245+
<source>exception_class</source>
246+
<target state="translated">Exception class</target>
247+
</trans-unit>
248+
<trans-unit id="path" xml:space="preserve">
249+
<source>path</source>
250+
<target state="translated">Path</target>
251+
</trans-unit>
252+
<trans-unit id="firewall" xml:space="preserve">
253+
<source>firewall</source>
254+
<target state="translated">Firewall</target>
255+
</trans-unit>
215256
</body>
216257
</file>
217258
</xliff>

translations/core/messages.fr.xlf

+42
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,48 @@
212212
<source>classic.login_password</source>
213213
<target state="final">Se connecter avec mot de passe</target>
214214
</trans-unit>
215+
216+
217+
<trans-unit id="user_id" xml:space="preserve">
218+
<source>user_id</source>
219+
<target state="translated">ID utilisateur</target>
220+
</trans-unit>
221+
<trans-unit id="user_email" xml:space="preserve">
222+
<source>user_email</source>
223+
<target state="translated">E-mail utilisateur</target>
224+
</trans-unit>
225+
<trans-unit id="user_picture_url" xml:space="preserve">
226+
<source>user_picture_url</source>
227+
<target state="translated">URL image de profil</target>
228+
</trans-unit>
229+
<trans-unit id="user_public_name" xml:space="preserve">
230+
<source>user_public_name</source>
231+
<target state="translated">Pseudonyme utilisateur</target>
232+
</trans-unit>
233+
<trans-unit id="security" xml:space="preserve">
234+
<source>security</source>
235+
<target state="translated">Sécurité</target>
236+
</trans-unit>
237+
<trans-unit id="authenticator" xml:space="preserve">
238+
<source>authenticator</source>
239+
<target state="translated">Authentificateur</target>
240+
</trans-unit>
241+
<trans-unit id="entity_title" xml:space="preserve">
242+
<source>entity_title</source>
243+
<target state="translated">Entity title</target>
244+
</trans-unit>
245+
<trans-unit id="exception_class" xml:space="preserve">
246+
<source>exception_class</source>
247+
<target state="translated">Classe de l'exception</target>
248+
</trans-unit>
249+
<trans-unit id="path" xml:space="preserve">
250+
<source>path</source>
251+
<target state="translated">Chemin</target>
252+
</trans-unit>
253+
<trans-unit id="firewall" xml:space="preserve">
254+
<source>firewall</source>
255+
<target state="translated">Pare-feu</target>
256+
</trans-unit>
215257
</body>
216258
</file>
217259
</xliff>

translations/core/messages.xlf

+42
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,48 @@
222222
<source>classic.login_password</source>
223223
<target></target>
224224
</trans-unit>
225+
226+
<!-- History entry params -->
227+
<trans-unit id="user_id" xml:space="preserve">
228+
<source>user_id</source>
229+
<target />
230+
</trans-unit>
231+
<trans-unit id="user_email" xml:space="preserve">
232+
<source>user_email</source>
233+
<target />
234+
</trans-unit>
235+
<trans-unit id="user_picture_url" xml:space="preserve">
236+
<source>user_picture_url</source>
237+
<target />
238+
</trans-unit>
239+
<trans-unit id="user_public_name" xml:space="preserve">
240+
<source>user_public_name</source>
241+
<target />
242+
</trans-unit>
243+
<trans-unit id="security" xml:space="preserve">
244+
<source>security</source>
245+
<target />
246+
</trans-unit>
247+
<trans-unit id="authenticator" xml:space="preserve">
248+
<source>authenticator</source>
249+
<target />
250+
</trans-unit>
251+
<trans-unit id="entity_title" xml:space="preserve">
252+
<source>entity_title</source>
253+
<target />
254+
</trans-unit>
255+
<trans-unit id="exception_class" xml:space="preserve">
256+
<source>exception_class</source>
257+
<target />
258+
</trans-unit>
259+
<trans-unit id="path" xml:space="preserve">
260+
<source>path</source>
261+
<target />
262+
</trans-unit>
263+
<trans-unit id="firewall" xml:space="preserve">
264+
<source>firewall</source>
265+
<target />
266+
</trans-unit>
225267
</body>
226268
</file>
227269
</xliff>

translations/security.en.xlf

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
<source>Your user account is locked. Contact an administrator.</source>
1919
<target state="translated">Your user account is locked. Contact an administrator.</target>
2020
</trans-unit>
21+
<trans-unit id="User logged in successfully" xml:space="preserve">
22+
<source>User logged in successfully.</source>
23+
<target state="translated">User logged in successfully.</target>
24+
</trans-unit>
2125
</body>
2226
</file>
2327
</xliff>

translations/security.fr.xlf

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
<source>Your user account is locked. Contact an administrator.</source>
1919
<target state="translated">Votre compte utilisateur est verrouillé. Contactez un administrateur.</target>
2020
</trans-unit>
21+
<trans-unit id="User logged in successfully" xml:space="preserve">
22+
<source>User logged in successfully.</source>
23+
<target state="translated">L'utilisateur s'est connecté avec succès.</target>
24+
</trans-unit>
2125
</body>
2226
</file>
2327
</xliff>

translations/security.xlf

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
<source>Your user account is locked. Contact an administrator.</source>
1919
<target />
2020
</trans-unit>
21+
<trans-unit id="User logged in successfully" xml:space="preserve">
22+
<source>User logged in successfully.</source>
23+
<target />
24+
</trans-unit>
2125
</body>
2226
</file>
2327
</xliff>

0 commit comments

Comments
 (0)