Magento 2 Plugin – Plugin Not Working in Magento 2.2

magento2magento2.2plugin

Created plugin as follows
app/code/Anshu/Custom/etc/adminhtml/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Backend\Model\AdminSessionsManager">
        <plugin name="anshu_custom_admin_logout" type="Anshu\Custom\Model\Plugin\AdminSessionsManager" sortOrder='1' />
    </type>
</config>

app/code/Anshu/Custom/Model/Plugin/AdminSessionsManager.php

<?php

namespace Anshu\Custom\Model\Plugin;

class AdminSessionsManager extends Magento\Security\Model\AdminSessionsManager
{   
    public function beforeprocessLogout()
    {
        exit('--test--');
    }
}

But it is not working.
What can be the reason for this issue?

Best Answer

In magento 2.2: Magento\Backend\Model\AdminSessionsManager class does not exist.

Change your config following way:


<type name="Magento\Security\Model\AdminSessionsManager">
    <plugin name="anshu_custom_admin_logout" type="Anshu\Custom\Plugin\Magento\Security\Model\AdminSessionsManager" sortOrder='1' />
</type>

And class


namespace Anshu\Custom\Plugin\Magento\Security\Model;

class AdminSessionsManager
{
    public function beforeProcessLogout(
        \Magento\Security\Model\AdminSessionsManager $subject
    ) {
        error_log('beforeProcessLogout');
    }
}

Clear cache.

Related Topic