Inheritance: implements eZ\Publish\Core\MVC\Symfony\Security\UserInterface, implements Symfony\Component\Security\Core\User\EquatableInterface
Esempio n. 1
0
 /**
  * Iterates over legacy SSO handlers, and pre-authenticates a user if a handler returns one.
  *
  * @param Request $request A Request instance
  *
  * @return array An array composed of the user and the credentials
  */
 protected function getPreAuthenticatedData(Request $request)
 {
     $kernelClosure = $this->legacyKernelClosure;
     /** @var \ezpKernelHandler $legacyKernel */
     $legacyKernel = $kernelClosure();
     $logger = $this->logger;
     $legacyUser = $legacyKernel->runCallback(function () use($logger) {
         foreach (eZINI::instance()->variable('UserSettings', 'SingleSignOnHandlerArray') as $ssoHandlerName) {
             $className = 'eZ' . $ssoHandlerName . 'SSOHandler';
             if (!class_exists($className)) {
                 if ($logger) {
                     $logger->error("Undefined legacy SSOHandler class: {$className}");
                 }
                 continue;
             }
             $ssoHandler = new $className();
             $ssoUser = $ssoHandler->handleSSOLogin();
             if (!$ssoUser instanceof eZUser) {
                 continue;
             }
             $logger->info("Matched user using eZ legacy SSO Handler: {$className}");
             return $ssoUser;
         }
     }, false, false);
     // No matched user with legacy.
     if (!$legacyUser instanceof eZUser) {
         return array('', '');
     }
     $user = new User($this->userService->loadUser($legacyUser->attribute('contentobject_id')), array('ROLE_USER'));
     return array($user, $user->getPassword());
 }
Esempio n. 2
0
 public function testSetAPIUser()
 {
     $apiUser = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\User\\User');
     $user = new User();
     $user->setAPIUser($apiUser);
     $this->assertSame($apiUser, $user->getAPIUser());
 }