public function indexAction() { $form = new FormLogin(); $error = false; $request = $this->getRequest(); if ($request->isPost()) { $form->setData($request->getPost()); if ($form->isValid()) { $data = $request->getPost()->toArray(); $auth = new AuthenticationService(); $sessionStorage = new SessionStorage('User'); $auth->setStorage($sessionStorage); $authAdapter = $this->getServiceLocator()->get('User\\Auth\\Adapter'); $authAdapter->setUsername($data['email']); $authAdapter->setPassword($data['password']); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { $sessionStorage->write($auth->getIdentity()['user'], null); return $this->redirect()->toRoute('user-admin/default', ['controller' => 'users']); } else { $error = true; } } } return new ViewModel(['form' => $form, 'error' => $error]); }
public function getServiceConfig() { return array('invokables' => array('zfcuser_user_service' => 'User\\Service\\User'), 'factories' => array('zfcuser_login_form' => function ($sm) { $options = $sm->get('zfcuser_module_options'); $form = new Form\Login(null, $options); $form->setInputFilter(new Form\LoginFilter($options)); return $form; }, 'zfcuser_register_form' => function ($sm) { $options = $sm->get('zfcuser_module_options'); $form = new Form\Register(null, $options); //$form->setCaptchaElement($sm->get('zfcuser_captcha_element')); $form->setInputFilter(new Form\RegisterFilter(new Validator\NoRecordExists(array('mapper' => $sm->get('zfcuser_user_mapper'), 'key' => 'email')), new Validator\NoRecordExists(array('mapper' => $sm->get('zfcuser_user_mapper'), 'key' => 'username')), $options)); return $form; }, 'zfcuser_change_password_form' => function ($sm) { $options = $sm->get('zfcuser_module_options'); $form = new Form\ChangePassword(null, $sm->get('zfcuser_module_options')); $form->setInputFilter(new Form\ChangePasswordFilter($options)); return $form; })); }
public function getServiceConfig() { return array('aliases' => array('user_doctrine_em' => 'doctrine.documentmanager.odm_default'), 'invokables' => array('User\\Authentication\\Adapter\\Db' => 'User\\Authentication\\Adapter\\Db', 'User\\Authentication\\Storage\\Db' => 'User\\Authentication\\Storage\\Db', 'User\\Form\\Login' => 'User\\Form\\Login', 'user_user_service' => 'User\\Service\\User', 'user_register_form_hydrator' => 'Zend\\Stdlib\\Hydrator\\ClassMethods'), 'factories' => array('user_remember' => function ($sm) { return new \User\Authentication\Adapter\RememberMe('user_remember'); }, 'user_module_options' => function ($sm) { $config = $sm->get('Config'); return new Options\ModuleOptions(isset($config['user']) ? $config['user'] : array()); }, 'user_auth_service' => function ($sm) { return new \Zend\Authentication\AuthenticationService($sm->get('User\\Authentication\\Storage\\Db'), $sm->get('User\\Authentication\\Adapter\\AdapterChain')); }, 'User\\Authentication\\Adapter\\AdapterChain' => 'User\\Authentication\\Adapter\\AdapterChainServiceFactory', 'user_login_form' => function ($sm) { $options = $sm->get('user_module_options'); $form = new Form\Login(null, $options); $form->setInputFilter(new Form\LoginFilter($options)); return $form; }, 'user_register_form' => function ($sm) { $options = $sm->get('user_module_options'); $form = new Form\Register(null, $options); $form->setInputFilter(new Form\RegisterFilter(new Validator\NoRecordExists(array('mapper' => $sm->get('user_user_mapper'), 'key' => 'email')), new Validator\NoRecordExists(array('mapper' => $sm->get('user_user_mapper'), 'key' => 'username')), $options)); return $form; }, 'user_change_password_form' => function ($sm) { $options = $sm->get('user_module_options'); $form = new Form\ChangePassword(null, $sm->get('user_module_options')); $form->setInputFilter(new Form\ChangePasswordFilter($options)); return $form; }, 'user_change_email_form' => function ($sm) { $options = $sm->get('user_module_options'); $form = new Form\ChangeEmail(null, $sm->get('user_module_options')); $form->setInputFilter(new Form\ChangeEmailFilter($options, new Validator\NoRecordExists(array('mapper' => $sm->get('user_user_mapper'), 'key' => 'email')))); return $form; }, 'user_user_hydrator' => function ($sm) { $hydrator = new \Zend\Stdlib\Hydrator\ClassMethods(); return $hydrator; }, 'user_user_mapper' => function ($sm) { return new \User\Mapper\UserMongoDB($sm->get('user_doctrine_em'), $sm->get('user_module_options')); })); }
public function loginAction() { if ($this->authenticationService->getIdentity()) { return $this->redirect()->toRoute('home'); } $form = new Login($this->getServiceLocator()->get('MvcTranslator')); $messages = []; $this->layout('layout/1-col'); if ($this->getRequest()->isPost()) { $post = $this->params()->fromPost(); $form->setData($post); if ($form->isValid()) { $data = $form->getData(); $adapter = $this->getAuthenticationService()->getAdapter(); $storage = $this->getAuthenticationService()->getStorage(); $adapter->setIdentity($data['email']); $adapter->setCredential($data['password']); $storage->setRememberMe($data['remember']); $result = $this->getAuthenticationService()->authenticate(); if ($result->isValid()) { $user = $this->getUserManager()->getUser($result->getIdentity()->getId()); $user->updateLoginData(); $this->getUserManager()->persist($user); $this->getUserManager()->flush(); $url = $this->params()->fromQuery('redir', $this->referer()->fromStorage()); return $this->redirect()->toUrl($url); } $messages = $result->getMessages(); } } else { $this->referer()->store(); } $view = new ViewModel(['form' => $form, 'errorMessages' => $messages, 'redir' => $this->params()->fromQuery('redir')]); $view->setTemplate('authentication/login'); return $view; }