![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-admin-adobe-ims/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\AdminAdobeIms\Model; use Magento\Framework\Exception\AuthenticationException; use Magento\Framework\Exception\LocalizedException; use Magento\User\Model\User as AdminUser; use Magento\AdminAdobeIms\Model\ResourceModel\User as AdminResourceUser; class User extends AdminUser { /** * Initialize user model * * @return void */ protected function _construct() { $this->_init(AdminResourceUser::class); } /** * Load user by email * * @param string $email * @return array */ public function loadByEmail(string $email): array { return $this->getResource()->loadByEmail($email); } /** * Login user * * @param string $username * @return User * @throws LocalizedException */ public function loginByUsername($username): User { if ($this->authenticateByUsername($username)) { $this->getResource()->recordLogin($this); } return $this; } /** * Authenticate username and save loaded record * * @param string $username * @return bool * @throws LocalizedException */ private function authenticateByUsername(string $username): bool { $config = $this->_config->isSetFlag('admin/security/use_case_sensitive_login'); $result = false; try { $this->_eventManager->dispatch( 'admin_user_authenticate_before', ['username' => $username, 'user' => $this] ); $this->loadByUsername($username); $sensitive = !$config || $username === $this->getUserName(); if ($sensitive && $this->getId()) { $result = $this->verifyIdentityWithoutPassword(); } /** * Dispatch admin_user_authenticate_after but with an empty password */ $this->_eventManager->dispatch( 'admin_adobe_ims_user_authenticate_after', ['username' => $username, 'user' => $this, 'result' => $result] ); } catch (LocalizedException $e) { $this->unsetData(); throw $e; } if (!$result) { $this->unsetData(); } return $result; } /** * Check if the current user account is active. * * @return bool * @throws AuthenticationException */ private function verifyIdentityWithoutPassword(): bool { if ((bool)$this->getIsActive() === false) { throw new AuthenticationException( __( 'The account sign-in was incorrect or your account is disabled temporarily. ' . 'Please wait and try again later.' ) ); } if (!$this->hasAssigned2Role($this->getId())) { throw new AuthenticationException(__('More permissions are needed to access this.')); } return true; } }