/** * Performs an authentication attempt * * @return \Zend\Authentication\Result * @throws \Zend\Authentication\Adapter\Exception\ExceptionInterface * If authentication cannot be performed */ public function authenticate() { $user = new User(); $result = $user->authenticateUser($this->username, $this->password); if ($result['status'] == false) { return new Result(Result::FAILURE_IDENTITY_NOT_FOUND, $this->username); } return new Result(Result::SUCCESS, $result['data']['user_id']); }
/** * * @param \Store\DataAccess\Entity\User $user * @return int * @throws \RuntimeException */ public function insert(User $user) { $stm = $this->pdo->prepare(' INSERT INTO users(name, user, password) VALUES(:name, :user, :password); '); $stm->bindValue(':name', $user->getName(), PDO::PARAM_STR); $stm->bindValue(':user', $user->getUser(), PDO::PARAM_STR); $stm->bindValue(':password', $user->getPassword(), PDO::PARAM_STR); if ($stm->execute()) { return (int) $this->pdo->lastInsertId(); } throw new \RuntimeException('Fail to insert some data'); }
public function testInsertUser() { $user2Insert = new User(); $user2Insert->setName('Diego'); $user2Insert->setUser('diego'); $user2Insert->setPassword('123456'); $dataAccess = new PDODataAccess($this->pdo); $id = $dataAccess->insert($user2Insert); $this->assertEquals(1, $id); $userInsert = $dataAccess->getById($id); $this->assertInstanceOf('Store\\Entity\\User', $userInsert); $this->assertEquals($user2Insert->getName(), $userInsert->getName()); $this->assertEquals($user2Insert->getUser(), $userInsert->getUser()); $this->assertEquals($user2Insert->getPassword(), $userInsert->getPassword()); }
public function registrationAction() { $form = new RegistrationForm(); $auth = new AuthenticationService(); $status = $message = ''; if ($auth->hasIdentity()) { // Identity exists return $this->redirect()->toRoute('store'); } /** * @var $request Request */ $request = $this->getRequest(); if ($request->isPost()) { $filters = new MyRegistrationFilter(); $form->setInputFilter($filters->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { //add user $userData = $form->getData(); $user = new User(); $user->exchangeArray($form->getData()); $user->addUser(); //Authentication $authAdapter = new MyAuthAdapter($userData['name'], md5($userData['pass'])); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { $status = 'success'; $message = 'Реєстрація пройшла успішно'; if ($message) { $this->flashMessenger()->setNamespace($status)->addMessage($message); } return $this->redirect()->toRoute('store'); } else { $status = 'error'; $message = 'Виникла непередбачувана помилка'; } } else { $status = 'error'; $message = 'Помилка параметрів'; } } //make message if ($message) { $this->flashMessenger()->setNamespace($status)->addMessage($message); } return array('form' => $form); }
/** * @param MvcEvent $e * @return bool */ public function AuthAndAcl($e) { $acl = new MyAcl(); $auth = new AuthenticationService(); // Get User Role $role = $auth->getIdentity() ? User::getUserRole($auth->getIdentity()) : 'guest'; return $acl->isAllowed($role, $e->getRouteMatch()->getParam('controller')); }
public function usersAction() { //initialization $message = $status = ''; $version = $this->params()->fromRoute('v', false); if (in_array($version, Methods::getSupportedVersion())) { $param = $this->params()->fromRoute('param', false); $resource = $this->params()->fromRoute('resource', false); switch (Methods::getMethod()) { case 'GET': $status = 'GET'; $message = User::getUserLogin($param); break; case 'POST': $status = 'POST'; $message = 'POST'; break; case 'PUT': $status = 'PUT'; $message = 'PUT'; break; case 'DELETE': $status = 'DELETE'; $message = 'DELETE'; break; } } else { $status = 'ERROR'; $message = 'Not supported Version API'; } //make message for JS if ($message) { echo json_encode(array('method' => $status, 'message' => $message)); } return true; }