/** * Verifies the Login of a User by checking it against the Database * * @param string $loginName * @param string $password * @return boolean * @throws \InvalidArgumentException */ public function verifyLoginByLoginNameAndPassword($loginName, $password) { $sql = new Sql($this->dbAdapter); $select = $sql->select('tbluser'); $select->where(array('loginName = ?' => $loginName)); $stmt = $sql->prepareStatementForSqlObject($select); $result = $stmt->execute(); if ($result instanceof ResultInterface && $result->isQueryResult() && $result->getAffectedRows()) { $user = new User(); $user->exchangeArray($result->current()); //\Zend\Debug\Debug::dump($password, $label = null, $echo = true); if ($this->passwordService->verify($password, $user->getHashedPassword(), $user->getTimestamp())) { if ($user->getAktiv() == 1) { return array('user' => $user, 'loginSuccess' => true, 'errors' => array()); } else { return array('loginSuccess' => false, 'errors' => array('errorMessage' => 'user not active')); } } else { return array('loginSuccess' => false, 'errors' => array('errorMessage' => 'wrong username or password')); } } return array('loginSuccess' => false, 'errors' => array('errorMessage' => 'wrong username or password')); }