Esempio n. 1
0
 function entrar()
 {
     //obter o usuário e a senha e tentar efetuar o login
     $usuario = isset($_POST['username']) ? $_POST['username'] : '';
     $senha = isset($_POST['password']) ? $_POST['password'] : '';
     //validar
     if ($usuario == "" || $senha == "") {
         $var = array('success' => false, 'message' => htmlentities('Dados do usuário não informados'));
         echo json_encode($var);
         return false;
     }
     $this->load->model('usuario_model');
     $u = new Usuario_model();
     $u->where('login', $usuario);
     //      @todo: permitir ao usuário trocar o hash padrão
     $u->where('senha', md5($senha));
     //      @todo: Recuperar da configuração do sistema
     //      $u->where('situacao_id', 2);
     $u->get(1);
     if ($u->result_count() == 0) {
         $var = array('success' => false, 'message' => htmlentities('Usuário não localizado'));
         echo json_encode($var);
         return false;
     }
     /* verificar a situação do usuário que está
      * tentando efetuar login 
      */
     $situacao = new Situacao_usuario_model();
     $s = $situacao->where('id', $u->situacao_usuario_id)->get();
     if ($s->descricao == "Novo") {
         $var = array('success' => false, 'trocar_senha' => true, 'url' => 'login/load_alterar_senha?login='******'message' => htmlentities('Bem vindo, ' . $u->nome . '! Efetue a troca de sua senha de acesso.'));
         echo json_encode($var);
         return false;
     } else {
         if ($s->descricao == "Expirado") {
             $var = array('success' => false, 'trocar_senha' => true, 'url' => 'login/load_alterar_senha', 'message' => htmlentities('Você não realiza login no sistema a muito tempo, sendo assim, você deve realizar a troca de sua senha de acesso!'));
             echo json_encode($var);
             return false;
         } else {
             if ($s->descricao == "Inativo") {
                 $var = array('success' => false, 'message' => htmlentities('Usuário inativo!'));
                 echo json_encode($var);
                 return false;
             }
         }
     }
     // insere data e hora do ultimo login
     $u->update('ultimo_acesso', date("Y-m-d H:i:s"));
     /* salva na session o usuário, o cooke só guarda 4KB, 
      * talvez seja necessário salvar apenas o id do usuario
      */
     $usuario = array('id' => $u->id, 'nome' => $u->nome, 'login' => $u->login, 'email' => $u->email, 'tipo_usuario_id' => $u->tipo_usuario_id, 'situacao_id' => $u->situacao_id, 'senha' => $u->senha, 'ultima_troca' => $u->ultima_troca, 'ultimo_acesso' => $u->ultimo_acesso);
     $this->session->set_userdata('usuario_logado', $usuario);
     $var = array('success' => true, 'usuario' => array('login' => $usuario['login'], 'nome' => $usuario['nome']), 'url' => site_url('welcome'));
     echo json_encode($var);
     return TRUE;
 }
Esempio n. 2
0
 function entrar()
 {
     //obter o usuário e a senha e tentar efetuar o login
     $usuario = isset($_POST['username']) ? $_POST['username'] : '';
     $senha = isset($_POST['password']) ? $_POST['password'] : '';
     //validar
     if ($usuario == "" || $senha == "") {
         $var = array('success' => false, 'message' => htmlentities('Dados do usuário não informados'));
         echo json_encode($var);
         return false;
     }
     $this->load->model('usuario_model');
     $u = new Usuario_model();
     $u->where('login', $usuario);
     //      @todo: permitir ao usuário trocar o hash padrão
     $u->where('senha', md5($senha));
     //      @todo: Recuperar da configuração do sistema
     //      $u->where('situacao_id', 2);
     $u->get(1);
     if ($u->result_count() != 1) {
         $var = array('success' => false, 'message' => htmlentities('Usuário não localizado'));
         echo json_encode($var);
         return false;
     }
     //        @todo: recuperar do sistema
     switch ($u->situacao_id) {
         case 1:
             //Novo
         //Novo
         case 4:
             //Expirado
             $this->trocar_senha($u);
             break;
         case 2:
             //Ativo
             break;
         case 3:
             //Inativo
         //Inativo
         default:
             //@todo: dar mensagem e voltar a tela de login
             return false;
             break;
     }
     // insere data e hora do ultimo login
     $u->update('ultimo_acesso', date("Y-m-d H:i:s"));
     /* salva na session o usuário, o cooke só guarda 4KB, 
      * talvez seja necessário salvar apenas o id do usuario
      */
     $usuario = array('id' => $u->id, 'nome' => $u->nome, 'login' => $u->login, 'email' => $u->email, 'tipo_usuario_id' => $u->tipo_usuario_id, 'situacao_id' => $u->situacao_id, 'senha' => $u->senha, 'ultima_troca' => $u->ultima_troca, 'ultimo_acesso' => $u->ultimo_acesso);
     $this->session->set_userdata('usuario_logado', $usuario);
     $var = array('success' => true, 'usuario' => array('login' => $usuario['login'], 'nome' => $usuario['nome']));
     echo json_encode($var);
     return TRUE;
 }
Esempio n. 3
0
 function recuperar_senha()
 {
     try {
         $login = isset($_POST['login']) ? $_POST['login'] : '';
         $email = isset($_POST['email']) ? $_POST['email'] : '';
         $usuario = new Usuario_model();
         $usuario->where('login', $login);
         $usuario->where('email', $email);
         $usuario->get(1);
         if ($usuario->result_count() != 1) {
             $var = array('success' => false, 'message' => htmlentities('Usuário informado não localizado'));
             echo json_encode($var);
             return false;
         }
         $this->enviar_email($usuario->email, $usuario->senha);
         $var = array('success' => true);
         echo json_encode($var);
         return true;
     } catch (Exception $e) {
         $var = array('success' => false, 'message' => htmlentities($e->getMessage()));
         echo json_encode($var);
         return false;
     }
 }