/** * authenticate * * @param User $user user * * @return mixed * @throws \Exception */ public function authenticate(User $user) { /* + LOW_LEVEL_PREP */ if (!$user->isEnabled()) { return new Result(Result::FAILURE_UNCATEGORIZED, $user, ['User is disabled.']); } /* - LOW_LEVEL_PREP */ /* @event authenticate * - expects listener to return * Zend\Authentication\Result with * Result->identity == to user object ($user) */ $results = $this->getEventManager()->trigger('authenticate', $this, ['user' => $user], function ($result) { return $result->isValid(); }); $result = $results->last(); if ($result === null) { throw new \Exception('No auth listener registered or no results returned (authenticate).'); } if ($results->stopped()) { /* * @event authenticateSuccess */ $this->getEventManager()->trigger('authenticateSuccess', $this, ['result' => $result]); return new Result(Result::SUCCESS, $this->prepareUser($result->getIdentity())); } /* * @event authenticateFail */ $this->getEventManager()->trigger('authenticateFail', $this, ['result' => $result]); return $result; }
/** * testIsEnabled * * @covers \RcmUser\User\Entity\User::isEnabled * * @return void */ public function testIsEnabled() { $user = new User(); $user->setState(User::STATE_DISABLED); $this->assertFalse($user->isEnabled(), 'State check failed.'); }