/** * M?todo para buscar os dados do usu?rio de acordo com login e senha * @access public * @static * @param @username (cpf ou cnpj do usu?rio) * @param @password (senha do usu?rio criptografada) * @return bool */ public function login($username, $password) { // busca o usu?rio de acordo com o login e a senha $senha = $this->select(); $senha->from($this, array("dbo.fnEncriptaSenha('" . $username . "', '" . $password . "') as senha")); $senha->where('usu_identificacao = ?', $username); $criptSenha = $this->fetchRow($senha); $auxSenha = ""; if (!empty($criptSenha['senha'])) { $auxSenha = $criptSenha['senha']; } $sql = $this->select(); $sql->setIntegrityCheck(false); $sql->from($this, array('usu_codigo', 'usu_nome', 'usu_identificacao', 'usu_senha', 'usu_orgao')); $sql->joinInner(array("uog" => "UsuariosXOrgaosXGrupos"), "uog.uog_usuario = usu_codigo AND uog_status = 1", array(), "TABELAS.dbo"); $sql->where('usu_identificacao = ?', $username); $sql->where('usu_status = ?', 1); if (md5($password) != GenericControllerNew::validarSenhaInicial()) { $sql->where("usu_senha = ?", $auxSenha); } $buscar = $this->fetchRow($sql); if ($buscar) { // configura??es do banco $dbAdapter = Zend_Db_Table::getDefaultAdapter(); // pegamos o zend_auth $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter); $authAdapter->setTableName($this->_name)->setIdentityColumn('usu_identificacao')->setCredentialColumn('usu_senha'); // seta as credenciais informada pelo usu?rio $authAdapter->setIdentity($buscar['usu_identificacao'])->setCredential($buscar['usu_senha']); // tenta autenticar o usu?rio $auth = Zend_Auth::getInstance(); $acesso = $auth->authenticate($authAdapter); // verifica se o acesso foi permitido if ($acesso->isValid()) { // pega os dados do usu?rio com exce??o da senha $authData = $authAdapter->getResultRowObject(null, 'usu_senha'); $orgao_maximo_superior = $this->recuperarOrgaoMaxSuperior($buscar['usu_orgao']); // armazena os dados do usu?rio $objAuth = $auth->getStorage()->write($authData); //Grava o orgao superior na sessao do usuario $_SESSION['Zend_Auth']['storage']->usu_org_max_superior = $orgao_maximo_superior; return true; } else { return false; } } else { return false; } }
public function loginSemCript($username, $password) { // busca o usu?rio de acordo com o login e a senha $sql = $this->select(); $sql->setIntegrityCheck(false); $sql->from($this, array('Cpf', 'Senha')); $sql->where('Cpf = ?', $username); if ($password != GenericControllerNew::validarSenhaInicial()) { $sql->where("Senha = ?", $password); } $buscar = $this->fetchRow($sql); if ($buscar) { // realiza a autentica??o // configura??es do banco $dbAdapter = Zend_Db_Table::getDefaultAdapter(); // pegamos o zend_auth $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter); $authAdapter->setTableName($this->_name)->setIdentityColumn('Cpf')->setCredentialColumn('Senha'); // seta as credenciais informada pelo usu?rio $authAdapter->setIdentity($buscar['Cpf'])->setCredential($buscar['Senha']); // tenta autenticar o usu?rio $auth = Zend_Auth::getInstance(); $acesso = $auth->authenticate($authAdapter); // verifica se o acesso foi permitido if ($acesso->isValid()) { // pega os dados do usu?rio com exce??o da senha $authData = $authAdapter->getResultRowObject(null, 'Senha'); // armazena os dados do usu?rio $objAuth = $auth->getStorage()->write($authData); return true; } else { // caso n?o tenha sido validado return false; } } else { return false; } }