如何在magento中获取登录的用户会话?

时间:2019-02-07 19:54:42

标签: php magento

我创建了一个模块,该模块显示user列表。如果用户已登录管理面板,我想显示该页面

 // world.php



<?php
namespace Pulsestorm\HelloWorldMVVM\Controller\Hello;
use Magento\Framework\View\Result\PageFactory;
use Magento\Framework\App\Action\Context;
class World extends \Magento\Framework\App\Action\Action
{
    protected $pageFactory;
    public function __construct(Context $context, PageFactory $pageFactory)
    {
        $this->pageFactory = $pageFactory;
        return parent::__construct($context);
    }
    public function execute()
    {
        $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
        $customerSession = $objectManager->get('Magento\Customer\Model\Session');
        var_dump("feererggrerge",$customerSession->isLoggedIn());
        var_dump(__METHOD__);
        $page_object = $this->pageFactory->create();;
        return $page_object;
    }
}

Directory structure

我想在模块控制器中进行管理员会话,以检查他是否已登录管理面板

1 个答案:

答案 0 :(得分:1)

您可以检查用户是否已登录

方法1.要检查客户是否已登录网站的任何页面,

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$customerSession = $objectManager->get('Magento\Customer\Model\Session');

if($customerSession->isLoggedIn()) {

   // customer login action

}

方法2。要检查客户是否从控制器登录:

$this->_objectManager->get('Magento\Customer\Model\Session');

if($customerSession->isLoggedIn()) {

   // customer login action

}

<?php 
    if(!Mage::getSingleton('customer/session')->isLoggedIn()){
        //not logged in
    }else{
        // logged in
    }
?>