/** * 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; }
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)); }
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">×</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')); } }
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(); })); }