public function loginAction()
 {
     if (!$this->getRequest()->isPost()) {
         return;
     }
     $loginForm = new LoginForm($this->getRequest()->getPost('loginForm'));
     if (!$loginForm->isValid()) {
         $this->nwFlashMessenger()->addErrorMessage(MessageConstants::ERROR_INVALID_FORM);
         return;
     }
     $loginFormData = $loginForm->getData();
     $authAdapter = $this->getAuthAdapter();
     $authAdapter->setIdentity($loginFormData['email'])->setCredential(NovumWareHelpers::encryptPassword($loginFormData['password']));
     $authenticationResult = $authAdapter->authenticate();
     if (!$authenticationResult->isValid()) {
         $this->nwFlashMessenger()->addErrorMessage('Invalid email / password combination');
         return;
     }
     $memberDataPrefixed = $authAdapter->getResultRowObject();
     $membersMapper = $this->getMembersMapper();
     $memberData = $membersMapper->unprefixDataArray($memberDataPrefixed);
     $memberModel = $membersMapper->createModelFromData($memberData);
     /*@var $memberModel \Registration\Model\MemberModel */
     $this->getAuthSession()->write($memberModel->toArray());
     $this->nwFlashMessenger()->addSuccessMessage('You have successfully logged in');
     if ($memberModel->role == 'admin') {
         return $this->redirect()->toRoute('admin');
     }
     $returnUrl = $this->getReturnUrl();
     if ($returnUrl) {
         return $this->redirect()->toUrl($returnUrl);
     } else {
         return $this->redirect()->toRoute('account');
     }
 }
 /**
  * Faz a autenticação de usuários
  * @return ViewModel
  */
 public function loginAction()
 {
     if ($this->authService->hasIdentity()) {
         return $this->redirect()->toRoute('ums');
     }
     $this->layout('login/layout');
     $loginForm = new LoginForm();
     $message = null;
     $request = $this->getRequest();
     if ($request->isPost()) {
         $loginForm->setInputFilter(new LoginFilter());
         $loginForm->setData($request->getPost());
         if ($loginForm->isValid()) {
             $data = $loginForm->getData();
             if ($this->userAuthentication($data)) {
                 return $this->redirect()->toRoute('ums');
             } else {
                 $message = 'Credenciais inválidas.';
             }
         }
     }
     return new ViewModel(array('form' => $loginForm, 'message' => $message));
 }