예제 #1
0
function DASH_login($paramPOST, $paramREMOTE)
{
    // Recupera os dados
    $usuario = trim($paramPOST['usuario']);
    $senha = trim($paramPOST['senha']);
    $id_app = trim($paramPOST['id_app']);
    $msg = "";
    $code = 0;
    // Parametro Padrao
    $device = trim($paramPOST['device']);
    $ipaddress = $paramREMOTE['REMOTE_ADDR'];
    auditoriaLog('Begin - DASH_login()', $sql, $device, $usuario, $ipaddress);
    // Valida se tem conteudo
    if (hasContent($usuario) == 0 || hasContent($senha) == 0) {
        returnJson(-1, 'Usuário ou Senha devem tem conteúdo');
    }
    if (hasContent($id_app) == 0) {
        returnJson(-1, "Deve ser informado qual APP está sendo executada.");
    }
    if (hasContent($device) == 0) {
        returnJson(-1, "Tentativa de acesso não autorizado.");
    }
    // Pesquisa o usuario e senha
    $sql = "SELECT * ";
    $sql = $sql . "FROM colaborador  ";
    $sql = $sql . "WHERE upper(login) = upper('{$usuario}')  ";
    $sql = $sql . "AND upper(senha) = upper('{$senha}')  ";
    $sql = $sql . "LIMIT 1; ";
    //echo $sql;
    $login = query($sql);
    // Valida se o login/senha estao corretos
    if (sizeof($login) == 0) {
        returnJson(-1, "Usuário ou Senha não conferem.");
    }
    $sql = "SELECT * FROM ";
    $sql = $sql . "((colaborador JOIN (concessionaria JOIN grupo  ";
    $sql = $sql . "ON concessionaria.id_grupo_financeiro=grupo.id_grupo)  ";
    $sql = $sql . "ON colaborador.id_concessionaria=concessionaria.id_concessionaria)  ";
    $sql = $sql . "JOIN (colaborador_aplicacao JOIN aplicacao ON  ";
    $sql = $sql . "colaborador_aplicacao.id_aplicacao=aplicacao.id_aplicacao)  ";
    $sql = $sql . "ON colaborador.id_colaborador=colaborador_aplicacao.id_colaborador)  ";
    $sql = $sql . "WHERE ativo='S' AND upper(colaborador.login) = upper('{$usuario}')  ";
    $sql = $sql . "AND upper(colaborador.senha) = upper('{$senha}')  ";
    $sql = $sql . "AND upper(aplicacao.aplicacao) LIKE upper('%{$id_app}%');";
    //returnJson(-1, $sql);
    $login = query($sql);
    // Valida se o usuario tem acesso a APP
    if (sizeof($login) == 0) {
        returnJson(-1, "Usuário não tem autorização para acessar esta aplicação.");
    }
    auditoriaLog('DASH_login()', $sql, $device, $usuario, $ipaddress);
    // Valida se encontrar pelo menos 1 app permitido
    if (isset($login) && sizeof($login) > 0) {
        $dbdevice = trim($login[0]['device']);
        // Valida se ja não esta logado
        if (hasContent($dbdevice) == 0) {
            // Cria a tabela de controle para os deltas dos regitros
            APP_create_table_control($device);
            $msg = "Autenticação efetuada com sucesso.";
        } else {
            if ($device == $dbdevice) {
                $msg = "Reautenticação no mesmo iPad realizada com sucesso.";
            } else {
                $msg = "Atenção, seu login está ativo em outro iPad. Solicite seu desbloqueio.";
            }
        }
        // Atualiza informacao que logou na aplicacao
        $sql = "UPDATE colaborador ";
        $sql = $sql . "SET data_hora_login = CURRENT_TIMESTAMP(), ";
        $sql = $sql . "device = '{$device}', ip_ipad = '{$ipAddress}' ";
        $sql = $sql . "WHERE login = '******'";
        // returnJson(-1, $sql);
        $update = query($sql);
        if ($update['error']) {
            $code = -1;
            $msg = "Erro ao liberar login.";
        }
        // coloca na sessao para controle dos apps
        session_start();
        $_SESSION['volvo']['apps'] = $login;
        returnJson(0, $msg, $login);
    }
}
예제 #2
0
function APP_login($paramPOST, $paramREMOTE)
{
    // Recupera os dados
    $usuario = trim($paramPOST['usuario']);
    $senha = trim($paramPOST['senha']);
    $app = trim($paramPOST['app']);
    $msg = "";
    $code = 0;
    // Parametro Padrao
    $device = trim($paramPOST['device']);
    $ipaddress = $paramREMOTE['REMOTE_ADDR'];
    auditoriaLog('Begin - APP_login()', $sql, $device, $usuario, $nome_completo, $ipaddress);
    // Valida se tem conteudo
    if (hasContent($usuario) == 0 || hasContent($senha) == 0) {
        auditoriaLog('APP_login()', $sql, $device, $usuario, $nome_completo, $ipaddress);
        returnJson(-1, 'Usuário ou Senha devem tem conteúdo');
    }
    if (hasContent($app) == 0) {
        returnJson(-1, "Deve ser informado qual APP está sendo executada.");
    }
    if (hasContent($device) == 0) {
        returnJson(-1, "Tentativa de acesso não autorizado.");
    }
    // Pesquisa o usuario e senha
    $sql = "SELECT * ";
    $sql = $sql . "FROM colaborador  ";
    $sql = $sql . "WHERE upper(login) = upper('{$usuario}')  ";
    $sql = $sql . "AND upper(senha) = upper('{$senha}')  ";
    $sql = $sql . "AND ativo = 'S'  ";
    $sql = $sql . "LIMIT 1; ";
    $login = query($sql);
    // Valida se o login/senha estao corretos
    if (sizeof($login) == 0) {
        returnJson(-1, "Usuário ou Senha não conferem.");
    }
    /*$sql = "SELECT * ";
      $sql = $sql . "FROM (SELECT ap.id_aplicacao FROM aplicacao ap WHERE upper(ap.aplicacao) LIKE upper('%$app%')) apl, ";
      $sql = $sql . "colaborador_aplicacao ca ";
      $sql = $sql . "LEFT JOIN colaborador co ";
      $sql = $sql . "ON ca.id_colaborador = co.id_colaborador ";
      $sql = $sql . "WHERE upper(ca.id_aplicacao) = upper(apl.id_aplicacao) ";
      $sql = $sql . "AND upper(co.login) = upper('$usuario') ";
      $sql = $sql . "AND upper(co.senha) = upper('$senha'); ";*/
    // alterado por Suzane Machado -> alteracao: coringa(%) app + insercao id_grupo
    $sql = "SELECT *  ";
    $sql = $sql . "FROM (SELECT ap.id_aplicacao FROM aplicacao ap WHERE upper(ap.aplicacao) LIKE upper('{$app}%')) apl,  ";
    $sql = $sql . "colaborador_aplicacao ";
    $sql = $sql . "LEFT JOIN (colaborador JOIN (concessionaria JOIN grupo ON concessionaria.id_grupo_financeiro=grupo.id_grupo)  ";
    $sql = $sql . "ON colaborador.id_concessionaria=concessionaria.id_concessionaria)  ";
    $sql = $sql . "ON colaborador_aplicacao.id_colaborador = colaborador.id_colaborador  ";
    $sql = $sql . "WHERE upper(colaborador_aplicacao.id_aplicacao) = upper(apl.id_aplicacao)  ";
    $sql = $sql . "AND upper(colaborador.login) = upper('{$usuario}')  ";
    $sql = $sql . "AND upper(colaborador.senha) = upper('{$senha}'); ";
    // SELECT *
    // FROM (SELECT ap.id_aplicacao FROM aplicacao ap WHERE upper(ap.aplicacao) LIKE upper('crm%')) apl,
    // colaborador_aplicacao
    // LEFT JOIN (colaborador JOIN (concessionaria JOIN grupo ON concessionaria.id_grupo_financeiro=grupo.id_grupo)
    // ON colaborador.id_concessionaria=concessionaria.id_concessionaria)
    // ON colaborador_aplicacao.id_colaborador = colaborador.id_colaborador
    // WHERE upper(colaborador_aplicacao.id_aplicacao) = upper(apl.id_aplicacao)
    // AND upper(colaborador.login) = upper('waldir')
    // AND upper(colaborador.senha) = upper('con');
    // -- id_cargo = 3 gerente que ve todas as informacoes do grupo
    //returnJson(-1, $sql);
    $login = query($sql);
    // Valida se o usuario tem acesso a APP
    if (sizeof($login) == 0) {
        returnJson(-1, "Usuário não tem autorização para acessar esta aplicação.");
    }
    auditoriaLog('APP_login()', $sql, $device, $usuario, $nome_completo, $ipaddress);
    // Valida se retornou 1 usuario encontrado
    if (isset($login) && sizeof($login) == 1) {
        $dbdevice = trim($login[0]['device']);
        // Valida se ja não esta logado
        if (hasContent($dbdevice) == 0) {
            // Cria a tabela de controle para os deltas dos regitros
            APP_create_table_control($device);
            $msg = "Autenticação efetuada com sucesso.";
        } else {
            if ($device == $dbdevice) {
                $msg = "Reautenticação no mesmo iPad realizada com sucesso.";
            } else {
                $msg = "Atenção, seu login está ativo em outro iPad. Solicite seu desbloqueio.";
            }
        }
        // Atualiza informacao que logou na aplicacao
        $sql = "UPDATE colaborador ";
        $sql = $sql . "SET data_hora_login = CURRENT_TIMESTAMP(), ";
        $sql = $sql . "device = '{$device}', ip_ipad = '{$ipAddress}' ";
        $sql = $sql . "WHERE login = '******'";
        // returnJson(-1, $sql);
        $update = query($sql);
        if ($update['error']) {
            $code = -1;
            $msg = "Erro ao liberar login.";
        }
        returnJson(0, $msg, $login);
    }
}