Example #1
0
 /**
  * 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());
 }
Example #4
0
 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);
 }
Example #5
0
 /**
  * @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'));
 }
Example #6
0
 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;
 }