Exemple #1
0
 public function indexAction()
 {
     $form = new Form_Login('/login/index/');
     if ($this->_request->isPost()) {
         if ($form->isValid($this->_request->getPost())) {
             $authAdapter = $form->username->getValidator('Authorise')->getAuthAdapter();
             $data = $authAdapter->getResultRowObject(null, 'password');
             $auth = Zend_Auth::getInstance();
             $auth->getStorage()->write($data);
             $this->_redirect('index/');
         } else {
             $auth = Zend_Auth::getInstance();
             $auth->clearIdentity();
             $form->populate($this->_request->getPost());
         }
     }
     $this->view->form = $form;
 }
 public function loginAction()
 {
     $form = new Form_Login();
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($form->isValid($formData)) {
             if ($this->loginCheck($form->getValue('login'), $form->getValue('senha'))) {
                 return $this->_helper->redirector('index', 'index', 'default');
             } else {
                 $this->_helper->FlashMessenger(implode(' ', $this->result->getMessages()));
                 return $this->forward('index');
             }
         } else {
             $form->populate($formData);
             return $this->forward('index');
         }
     }
 }
 public function indexAction()
 {
     /* $event_manager = new App_EventTrigger();
               $event_manager->events()->attach('bar', function ($e) {
               $event = $e->getName();
               $target = get_class($e->getTarget());
               $params = json_encode($e->getParams());
     
               sprintf(
               '%s called on %s, using params %s', $event, $target, $params
               );
               });
     
               // Results in log message:
               $event_manager->bar('baz', 'bat'); */
     $this->_helper->layout->setLayout('front-home');
     $referrer = $this->_getParam('referrer', '');
     $form = new Form_Login();
     $error = false;
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             try {
                 if (!$this->_identity->login($form->login_id->getValue(), base64_encode($form->password->getValue()))) {
                     $error = true;
                     throw new Exception();
                 }
                 $role = $this->_identity->getRoleId();
                 if ($role == 1 || $role == 2 || $role == 22) {
                     parent::_redirect('/iadmin/');
                 }
                 if (in_array($role, array(14, 15))) {
                     parent::_redirect('/campaign/manage-campaigns/');
                 }
                 if (in_array($role, array(25))) {
                     parent::_redirect('/dashboard/?office=1');
                 }
                 if (in_array($role, array(30))) {
                     parent::_redirect('/dashboard/?office=2');
                 }
                 if (in_array($role, array(26))) {
                     parent::_redirect('/dashboard/?office=6');
                 }
                 if (in_array($role, array(27, 31))) {
                     parent::_redirect('/dashboard/?office=6');
                 }
                 if (in_array($role, array(3, 4, 5, 6, 17, 24))) {
                     parent::_redirect("/reports/dashlet/cold-chain-capacity");
                 }
                 //$this->_populateSession();
                 if (isset($referrer) && !empty($referrer)) {
                     parent::_redirect(base64_decode($referrer));
                 } else {
                     parent::_redirect('/dashboard/index');
                 }
             } catch (Exception $e) {
                 App_FileLogger::info($e);
                 $form->populate($formData);
                 $error = "Username Or Password is incorrect!";
             }
         } else {
             $form->populate($formData);
         }
     }
     $this->view->headTitle('Log In');
     $this->view->form = $form;
     $this->view->error = $error;
 }
 /**
  * Rotina de login
  */
 public function loginAction()
 {
     $this->_flashMessenger = $this->_helper->getHelper('FlashMessenger');
     $this->view->messages = $this->_flashMessenger->getMessages();
     $form = new Form_Login();
     $this->view->form = $form;
     /*
      * Verifica se existem dados de POST
      */
     if ($this->getRequest()->isPost()) {
         $data = $this->getRequest()->getPost();
         /*
          * Formulário corretamente preenchido?
          */
         if ($form->isValid($data)) {
             $login = $form->getValue('login');
             $senha = $form->getValue('senha');
             $dbAdapter = Zend_Db_Table::getDefaultAdapter();
             /*
              * Inicia o adaptador Zend_Auth para banco de dados
              */
             $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
             $authAdapter->setTableName('usuarios')->setIdentityColumn('login')->setCredentialColumn('senha')->setCredentialTreatment('SHA1(?)');
             /*
              * Define os dados para processar o login
              */
             $authAdapter->setIdentity($login)->setCredential($senha);
             /*
              * Efetua o login
              */
             $auth = Zend_Auth::getInstance();
             $result = $auth->authenticate($authAdapter);
             /*
              * Verifica se o login foi efetuado com sucesso
              */
             if ($result->isValid()) {
                 /*
                  * Armazena os dados do usuário em sessão, apenas desconsiderando                     
                  * a senha do usuário
                  */
                 $info = $authAdapter->getResultRowObject(null, 'senha');
                 $storage = $auth->getStorage();
                 $storage->write($info);
                 /*
                  * Redireciona para o Controller protegido
                  */
                 return $this->_helper->redirector->goToRoute(array('controller' => 'index'), null, true);
             } else {
                 /*
                  * Dados inválidos
                  */
                 $this->_helper->FlashMessenger('Usuário ou senha inválidos!');
                 $this->_redirect('/auth/login');
             }
         } else {
             /*
              * Formulário preenchido de forma incorreta
              */
             $form->populate($data);
         }
     }
 }