Symfony 7, LoginSuccessEvent & page return

Login işlemi başarılı olduğunda LoginSuccessEvent kullanarak session’daki returnPage değerine yönlendirme yapabilirsin.

LoginSuccessListener:

src/EventListener/LoginSuccessListener.php

<?php

namespace App\EventListener;

use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Security\Http\Event\LoginSuccessEvent;

class LoginSuccessListener
{

    public function __construct(private RequestStack $requestStack){
        $this->requestStack = $requestStack;
    }
    public function onLoginSuccess(LoginSuccessEvent $event): void
    {

        $request = $this->requestStack->getCurrentRequest();
        $session = $request->getSession();

        // If there is a previously saved returnPage value, redirect to that page
        if ($session->get('returnPage')){
            $returnPage = $session->get('returnPage');
            $response = new RedirectResponse($returnPage);
            $event->setResponse($response);
        }

    }
}
App\EventListener\LoginSuccessListener:
	tags:
		- { name: kernel.event_listener,
			event: Symfony\Component\Security\Http\Event\LoginSuccessEvent, method: onLoginSuccess }
Ads Blocker Image Powered by Code Help Pro

Reklam Engelleyici Algılandı!

Reklamları engellemek için uzantı kullandığınızı tespit ettik.

Lütfen bu reklam engelleyiciyi devre dışı bırakarak ya da sitemize izin vererek bize destek olun.

Dikkat: VPN eklentiniz üzerinde de reklam engelleyici olabilir.