/**
  * Login form factory
  *
  * @param  ServiceLocatorInterface $serviceLocator
  * @return LoginForm
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $options = $serviceLocator->get('zfcuser_module_options');
     $form = new LoginForm(null, $options);
     $form->setInputFilter(new LoginFilter($options));
     return $form;
 }
Exemplo n.º 2
0
 public function loginAction()
 {
     //        $p = new Bcrypt();
     //        $p->setSalt('xTiH$dg0913oJ.ceveiRfewFEBFEbh892e34.wfeguuq12332rtuBYCPLZvcwgams');
     //        $p1= $p->create('1234');
     //        echo $p1;
     //        exit();
     //
     if ($this->getServiceLocator()->get('AuthService')->hasIdentity()) {
         return $this->redirect()->toUrl('/');
     }
     $form = new LoginForm('form');
     $form->setInputFilter(new LoginFilter());
     $request = $this->getRequest();
     if ($request->isPost()) {
         $data = $request->getPost();
         //            print "<pre>";
         //            print_r($data);
         //            exit();
         $form->setData($data);
         if ($form->isValid()) {
             $data = $form->getData();
             //$userPass = new UserPassword();
             //                print "<pre>";
             //                echo strlen($userPass->salt);
             //                exit();
             // $encryptPass = $userPass->create($data['password']);
             $authService = $this->getServiceLocator()->get('AuthService');
             $authService->getAdapter()->setIdentity($data['username'])->setCredential($data['password']);
             $result = $authService->authenticate();
             if ($result->isValid()) {
                 return $this->redirect()->toUrl('/');
             }
         } else {
         }
     }
     return new ViewModel(array('form' => $form));
 }
Exemplo n.º 3
0
 public function signinAction()
 {
     $form = new LoginForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $user = new User();
         $form->setInputFilter($user->getInputFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $post = $request->getPost();
             $sm = $this->getServiceLocator();
             $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
             $authAdapter = new AuthAdapter($dbAdapter);
             $authAdapter->setTableName('user')->setIdentityColumn('username')->setCredentialColumn('password');
             $authAdapter->setIdentity($post->get('username'))->setCredential(sha1($post->get('password')));
             $authService = new AuthenticationService();
             $authService->setAdapter($authAdapter);
             $result = $authService->authenticate();
             if ($result->isValid()) {
                 $user = $this->getUserTable()->getUserByName($post->get('username'));
                 $session = new Container('user');
                 $session->offsetUnset('username');
                 $session->offsetSet('username', $user->username);
                 $session->offsetUnset('id');
                 $session->offsetSet('id', $user->id);
                 return $this->redirect()->toRoute('image');
             } else {
                 echo '<div class="alert alert-error">
                         <button type="button" class="close" data-dismiss="alert">&times;</button>
                         <h4>Warning!</h4>
                         Log in failed!.
                       </div>';
             }
         }
     }
     return array('form' => $form);
 }
 /**
  * Action for logging in a user
  * @return JsonModel
  */
 public function loginAction()
 {
     if ($this->request->isOptions()) {
         return new JsonModel();
     }
     if ($this->request->isPost()) {
         $loginForm = new LoginForm();
         $loginFilter = new LoginFilter();
         $loginForm->setInputFilter($loginFilter);
         $post = get_object_vars(json_decode($this->request->getContent()));
         $loginForm->setData($post);
         if (!$loginForm->isValid()) {
             $errorMessages = array();
             foreach ($loginForm->getMessages() as $elementName => $messages) {
                 foreach ($messages as $message) {
                     $errorMessages[$elementName] = $message;
                 }
             }
             return new JsonModel(array('error' => 1, 'message' => 'You have an error in your form. Please try again.', 'formErrors' => $errorMessages));
         }
         $formData = $loginForm->getData();
         $authAdapter = new AuthAdapter($this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'));
         $authAdapter->setTableName('lt_user');
         $authAdapter->setIdentityColumn('email');
         $authAdapter->setCredentialColumn('password');
         $authAdapter->setIdentity($formData['email']);
         $authAdapter->setCredential($formData['password']);
         $result = $authAdapter->authenticate();
         if (!$result->isValid()) {
             return new JsonModel(array('error' => 1, 'message' => 'Error while logging in. Please try again'));
         } else {
             $auth = $this->getServiceLocator()->get('AuthService');
             $objectManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
             $user = $objectManager->getRepository('Application\\Entity\\LtUser')->findOneBy(array('email' => $formData['email']));
             $date = new \DateTime();
             $hashRandomize = uniqid('swetea', true);
             $authToken = md5($formData['email'] . $date->format('Y-m-d') . $hashRandomize);
             $user->setAuthtoken($authToken);
             $storage = $auth->getStorage();
             $storage->write(array('contactName' => $user->getContactname(), 'userGroup' => $user->getUsergroup(), 'email' => $user->getEmail(), 'userId' => $user->getUserId()));
             $objectManager->persist($user);
             $objectManager->flush();
             return new JsonModel(array('error' => 0, 'message' => 'Login successful', 'authToken' => $authToken, 'userGroup' => $user->getUsergroup()));
         }
     } else {
         $this->response->setStatusCode(405);
         return new JsonModel(array('error' => 1, 'message' => 'Request Method not allowed'));
     }
 }
Exemplo n.º 5
0
 public function getServiceConfig()
 {
     return array('factories' => array('AuthService' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $dbTableAuthAdapter = new DbTableAuthAdapter($dbAdapter, 'user', 'email', 'password', 'MD5(?)');
         $authService = new AuthenticationService();
         $authService->setAdapter($dbTableAuthAdapter);
         return $authService;
     }, 'UserTable' => function ($sm) {
         $tableGateway = $sm->get('UserTableGateway');
         $table = new UserTable($tableGateway);
         return $table;
     }, 'UserTableGateway' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $resultSetPrototype = new ResultSet();
         $resultSetPrototype->setArrayObjectPrototype(new User());
         return new TableGateway('user', $dbAdapter, null, $resultSetPrototype);
     }, 'ListRowTable' => function ($sm) {
         $tableGateway = $sm->get('ListRowTableGateway');
         $table = new ListRowTable($tableGateway);
         return $table;
     }, 'ListRowTableGateway' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $resultSetPrototype = new ResultSet();
         $resultSetPrototype->setArrayObjectPrototype(new ListRow());
         return new TableGateway('list_row', $dbAdapter, null, $resultSetPrototype);
     }, 'AnimeTable' => function ($sm) {
         $tableGateway = $sm->get('AnimeTableGateway');
         $table = new AnimeTable($tableGateway);
         return $table;
     }, 'AnimeTableGateway' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $resultSetPrototype = new ResultSet();
         $resultSetPrototype->setArrayObjectPrototype(new Anime());
         return new TableGateway('anime', $dbAdapter, null, $resultSetPrototype);
     }, 'MessageTable' => function ($sm) {
         $tableGateway = $sm->get('MessageTableGateway');
         $table = new MessageTable($tableGateway);
         return $table;
     }, 'MessageTableGateway' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $resultSetPrototype = new ResultSet();
         $resultSetPrototype->setArrayObjectPrototype(new Message());
         return new TableGateway('message', $dbAdapter, null, $resultSetPrototype);
     }, 'CommentTable' => function ($sm) {
         $tableGateway = $sm->get('CommentTableGateway');
         $table = new CommentTable($tableGateway);
         return $table;
     }, 'CommentTableGateway' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $resultSetPrototype = new ResultSet();
         $resultSetPrototype->setArrayObjectPrototype(new Comment());
         return new TableGateway('comment', $dbAdapter, null, $resultSetPrototype);
     }, 'RegisterForm' => function ($sm) {
         $form = new Form\RegisterForm();
         $form->setInputFilter($sm->get('RegisterFilter'));
         return $form;
     }, 'RegisterFilter' => function ($sm) {
         return new Form\RegisterFilter();
     }, 'LoginForm' => function ($sm) {
         $form = new Form\LoginForm();
         $form->setInputFilter($sm->get('LoginFilter'));
         return $form;
     }, 'LoginFilter' => function ($sm) {
         return new Form\LoginFilter();
     }, 'UserEditForm' => function ($sm) {
         $form = new Form\UserEditForm();
         $form->setInputFilter($sm->get('UserEditFilter'));
         return $form;
     }, 'UserEditFilter' => function ($sm) {
         return new Form\UserEditFilter();
     }, 'EditAnimeOnListForm' => function ($sm) {
         $form = new EditAnimeOnListForm();
         $form->setInputFilter($sm->get('EditAnimeOnListFilter'));
         return $form;
     }, 'EditAnimeOnListFilter' => function ($sm) {
         return new EditAnimeOnListFilter();
     }, 'MessageForm' => function ($sm) {
         $form = new Form\MessageForm($sm, 'New ticket');
         $form->setInputFilter($sm->get('MessageFilter'));
         return $form;
     }, 'MessageFilter' => function ($sm) {
         return new Form\MessageFilter();
     }, 'ReplyForm' => function ($sm) {
         $form = new Form\ReplyForm();
         $form->setInputFilter($sm->get('ReplyFilter'));
         return $form;
     }, 'ReplyFilter' => function ($sm) {
         return new Form\ReplyFilter();
     }));
 }