Exemplo n.º 1
0
     } else {
         mensaje($MULTILANG_Error . ': ' . $MULTILANG_AuthLDAP, $MULTILANG_ErrorConnLDAP, '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
     }
     // Si logra el acceso por LDAP consulta datos del usuario sobre Practico para llenar el XML pero
     // Si el usuario no existe se devolvera el valor de aceptacion solamente y el resto vacios
     $registro = ejecutar_sql("SELECT {$ListaCamposSinID_usuario} FROM " . $TablasCore . "usuario WHERE login=? ", "{$uid}")->fetch();
     if ($DepuracionLDAP) {
         echo "<script language='JavaScript'> alert('{$auth_ldap_cadena}'); </script>";
     }
 }
 //Verifica MOTOR autenticacion federado
 if (!$error_parametros && ($Auth_TipoMotor == "federado" && $uid != "admin")) {
     //Busca parametros de configuracion para el motor federado
     $Param_MotorFederado = ejecutar_sql("SELECT {$ListaCamposSinID_parametros} FROM " . $TablasCore . "parametros ")->fetch();
     //Crea la nueva conexion al motor de autenticacion remoto segun los parametros encontrados
     $PCO_ConexionFederada = PCO_NuevaConexionBD($Param_MotorFederado["federado_motor"], $Param_MotorFederado["federado_puerto"], $Param_MotorFederado["federado_basedatos"], $Param_MotorFederado["federado_servidor"], $Param_MotorFederado["federado_usuario"], $Param_MotorFederado["federado_clave"]);
     //Aplica la encripcion usada por el motoro federado al campo de clave antes de compararlo frente a la BD
     if ($Param_MotorFederado["federado_encripcion"] == "plano") {
         $ClaveEnMD5 = $clave;
     } else {
         $ClaveEnMD5 = hash($Param_MotorFederado["federado_encripcion"], $clave);
     }
     //Ejecuta el Query sobre la conexion federada
     $registro = ejecutar_sql("SELECT " . $Param_MotorFederado["federado_campousuario"] . " as login, " . $Param_MotorFederado["federado_campousuario"] . " as nombre, 5 as nivel FROM " . $Param_MotorFederado["federado_tabla"] . " WHERE " . $Param_MotorFederado["federado_campousuario"] . "=? AND " . $Param_MotorFederado["federado_campoclave"] . "=? ", "{$uid}{$_SeparadorCampos_}{$ClaveEnMD5}", $PCO_ConexionFederada)->fetch();
     if ($registro["login"] != "") {
         $ok_login_verifica = '1';
         //Genera las credenciales en caso que no existan
         oauth_crear_usuario("PCOFederado", $registro["login"], $registro["login"], "", 1);
     }
 }
 // Inicia el XML de salida basico solamente con el estado de aceptacion
Exemplo n.º 2
0
        }
        // Evita el SQLSTATE[HY000]: General error. presentado por PostgreSQL.  Se habilita solo para MySQL
        if ($PCOConnMotorBD == "mysql" || $PCOConnMotorBD == "sqlite") {
            // Establece parametros para la conexion
            $ConexionPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        if ($PCOConnMotorBD == "mysql") {
            $ConexionPDO->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
            $ConexionPDO->exec("SET NAMES 'utf8';");
            $ConexionPDO->exec("SET NAMES utf8;");
            //Forzado UTF8 - Collation recomendada: utf8_general_ci
            //Evita el "General error: 2014 Cannot execute queries while other unbuffered queries are active"
            $ConexionPDO->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
        }
        //$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
        //$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
        //$this->con->setAttribute(PDO::SQLSRV_ATTR_DIRECT_QUERY => true);
        //Retorna la variable de conexion creada
        return $ConexionPDO;
    } catch (PDOException $ErrorPDO) {
        include_once "core/comunes.php";
        //Incluye la libreria de base al menos para presentar mensaje de error
        $mensaje_final = "Error de conexion con la base de datos. <hr>Verifique los valores existentes en el archivo <b>configuracion.php</b> y la disponibilidad de PDO y modulos asociados a su motor de bases de datos en su <b>php.ini</b>.";
        mensaje('<i class="fa fa-warning fa-3x text-danger texto-blink"></i> ' . $mensaje_final, "<li><b>Detalles:</b> " . $ErrorPDO->getMessage(), '', '', 'alert alert-danger alert-dismissible');
        $hay_error = 1;
        //usada globalmente durante el proceso de instalacion
    }
}
//Genera la conexion inicial del sistema
$ConexionPDO = PCO_NuevaConexionBD($MotorBD, $PuertoBD, $BaseDatos, $ServidorBD, $UsuarioBD, $PasswordBD);