Site icon MageComp Blog

Magento 2: How to Disable Customer Redirect to Login, Register and Forgot Password using Observer

Magento 2 How to Disable Customer Redirect to Login, Register and Forgot Password using Observer

Hello Magento Friends,

In today’s blog, we will discuss how to disable customer redirect to login, register and forgot password using observer in Magento 2.

In Magento 2, managing customer redirects can be crucial for providing a smooth and secure user experience. Sometimes, you may want to disable redirects to certain pages like login, register, and forgot password.

Let’s find out how you can disable customer redirects to login, register and forgot password using observer in Magento 2.

Steps to Disable Customer Redirect to Login, Register and Forgot Password using Observer in Magento 2:

Step 1: Create events.xml file inside the Extension etc folder

app\code\Vendor\Extension\etc\

Now add the code as below

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="controller_action_predispatch_customer_account_login">
        <observer name="redirect_login" instance="Vendor\Extension\Observer\Redirectpages" />
    </event>
    <event name="controller_action_predispatch_customer_account_create">
        <observer name="redirect_create" instance="Vendor\Extension\Observer\Redirectpages" />
    </event>
    <event name="controller_action_predispatch_customer_account_forgotpassword">
        <observer name="redirect_forgotpassword" instance="Vendor\Extension\Observer\Redirectpages" />
    </event>
</config>

Step 2: Now, create the Redirectpages.php file inside the Extension Observer folder.

app\code\Vendor\Extension\Observer\

Then add the code as follows

<?php
namespace Vendor\Extension\Observer;

use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Response\RedirectInterface;

class Redirectpages implements ObserverInterface
{
    protected $redirect;

    public function __construct(RedirectInterface $redirect)
    {
        $this->redirect = $redirect;
    }

    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $controller = $observer->getEvent()->getControllerAction();
        $controller->getResponse()->setRedirect($this->redirect->getRefererUrl())->sendResponse();
        exit;
    }
}

Conclusion:

By following these steps, you can disable customer redirects to login, register, and forgot password pages using an observer in Magento 2. This approach helps you manage customer experience more effectively without modifying core Magento files, ensuring a maintainable and upgrade-safe solution.

If you have any questions or run into issues, feel free to leave a comment below. Subscribe to our blog for more Magento 2 tips and tutorials. For more customization requirements, Hire Magento Developer to enhance your store functionality.

Happy Coding!

Exit mobile version