How to check customer is logged in or not In Magento 2.x ?

Today I am going to show you how we can check customer is logged in or not on Magento 2

Two ways We can check customer is logged is or not.

1. Using Magento\Customer\Model\Session object

If you need to check in Controller, Block, Helper or Observer then please follow the code

<?php
/* Your namespace and class declaration */

protected $customerSession;

/* add Magento\Customer\Model\Session to you constructor */
public function __construct(
    \Magento\Customer\Model\Session $customerSession
) {
    $this->customerSession = $customerSession;
}


/*
function for checking customer is logged in or not
this function return boolean.
if customer is logged in then it's return true else return false
*/
public function isCustomerLoggedIn()
{
    return $this->customerSession->isLoggedIn();
}

If you wan’t to use in .phtml file then follow the code

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerSession = $objectManager->get("Magento\Customer\Model\Session");
if($customerSession->isLoggedIn()) {
   // customer login action
}

?>

2. Using Magento\Framework\App\Http\Context object

If you need to check in Controller, Block, Helper or Observer then please follow the code

<?php
/* Your namespace and declaration */

protected $httpContext;

/* add \Magento\Framework\App\Http\Context to you constructor */
public function __construct(
    \Magento\Framework\App\Http\Context $httpContext
) {
    $this->httpContext = $httpContext;
}


/*
function for checking customer is logged in or not
this function return boolean.
if customer is logged in then it's return true else return false
*/
public function isCustomerLoggedIn()
{
    return $this->httpContext->isLoggedIn();
}

If you wan’t to use in .phtml file then follow the code

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$httpContext = $objectManager->get("Magento\Framework\App\Http\Context");
if($httpContext->isLoggedIn()) {
   // customer login action
}

?>

Published at:

Leave a comment

Your email address will not be published. Required fields are marked *