/** * @see \Ableron\Modules\Core\Services\Authentication\AuthenticationInterface::authenticateManually() */ public static function authenticateManually($username, $password) { // get user in case username exists $user = Application::getPersistenceManager()->getRepository('UserEntity')->findByUsername($username); // check password if ($user !== null && Password::verify($password, $user->getPasswordHash())) { // rehash password if necessary if (Password::needsRehash($user->getPasswordHash())) { $user->setPasswordHash(Password::hash($password)); } // return the user object return $user; } // credentials invalid return null; }
/** * Tests whether verify() works as expected. * * @return void */ public function testVerify() { $this->assertTrue(Password::verify('foobar', Password::hash('foobar'))); $this->assertFalse(Password::verify('foobarbaz', Password::hash('foobar'))); }
/** * Creates an admin account. * * @return void */ private function createAdminAccount() { // create user entity $user = new UserEntity($this->getInstaller()->getInstallationParameter('admin.username'), Password::hash($this->getInstaller()->getInstallationParameter('admin.password')), $this->getInstaller()->getInstallationParameter('admin.emailAddress'), $this->getInstaller()->getInstallationParameter('admin.firstName'), $this->getInstaller()->getInstallationParameter('admin.lastName')); // assign root role $user->getRoles()->add(Application::getPersistenceManager()->getRepository('RoleEntity')->findOneBy(array('name' => 'Root'))); // write changes to database Application::getPersistenceManager()->getEntityManager()->persist($user); Application::getPersistenceManager()->getEntityManager()->flush(); }