コード例 #1
0
 public function indexAction()
 {
     $request = $this->getRequest();
     $view = new ViewModel();
     $loginForm = new LoginForm('loginForm');
     $loginForm->setInputFilter(new LoginFilter());
     if ($request->isPost()) {
         $data = $request->getPost();
         $loginForm->setData($data);
         if ($loginForm->isValid()) {
             $data = $loginForm->getData();
             $userPassword = new UserPassword();
             $encyptPass = $userPassword->create($data['password']);
             $authService = $this->getServiceLocator()->get('AuthService');
             $authService->getAdapter()->setIdentity($data['email'])->setCredential($encyptPass);
             $result = $authService->authenticate();
             if ($result->isValid()) {
                 $userDetails = $this->_getUserDetails(array('email' => $data['email']), array('user_id'));
                 $session = new Container('User');
                 $session->offsetSet('email', $data['email']);
                 $session->offsetSet('userId', $userDetails[0]['user_id']);
                 $session->offsetSet('roleId', $userDetails[0]['role_id']);
                 $session->offsetSet('roleName', $userDetails[0]['role_name']);
                 $this->flashMessenger()->addMessage(array('success' => 'Login Success.'));
                 // Redirect to page after successful login
             } else {
                 $this->flashMessenger()->addMessage(array('error' => 'invalid credentials.'));
                 // Redirect to page after login failure
             }
             return $this->redirect()->tourl('/login');
             // Logic for login authentication
         } else {
             $errors = $loginForm->getMessages();
             // prx($errors);
         }
     }
     $view->setVariable('loginForm', $loginForm);
     return $view;
 }
コード例 #2
0
 public function signupAction()
 {
     $request = $this->getRequest();
     $view = new ViewModel();
     $signUpForm = new SignUpForm('signupForm');
     $signUpForm->setInputFilter(new SignUpFilter());
     if ($request->isPost()) {
         $user = new User();
         $data = $request->getPost();
         $signUpForm->setData($data);
         if ($signUpForm->isValid()) {
             $userPassword = new UserPassword();
             $encyptPass = $userPassword->create($data['password']);
             $user->exchangeArray($signUpForm->getData());
             $user->password = $encyptPass;
             //Debug::dump($user);
             $this->getUserTable()->saveUser($user);
             $this->getAuthService()->getAdapter()->setIdentity($data['email'])->setCredential($encyptPass);
             $result = $this->getAuthService()->authenticate();
             if ($result->isValid()) {
                 $session = new Container('User');
                 $session->offsetSet('email', $data['email']);
                 $this->flashMessenger()->addMessage(array('success' => 'Login Success.'));
                 // Redirect to page after successful login
             } else {
                 $this->flashMessenger()->addMessage(array('error' => 'invalid credentials.'));
                 // Redirect to page after login failure
             }
             return $this->redirect()->tourl('/TPWeb/public/album');
             // Logic for login authentication
         } else {
             $errors = $signUpForm->getMessages();
             //prx($errors);
         }
     }
     $view->setVariable('signupForm', $signUpForm);
     return $view;
 }