'xsd:boolean',
* 'resultMessage'=>'xsd:string',
* 'usuario_nombre' => 'xsd:string',
* 'usuario_apellidos' => 'xsd:string',
* 'usuario_clave' => 'xsd:string',
* 'usuario_id' => 'xsd:integer',
* 'usuario_esProfesor' => 'xsd:boolean',
* 'usuario_esAdministrativo' => 'xsd:boolean'
*/
require_once('../CIDIT/classes/Usuario.php');
require_once("../include/nusoap/nusoap.php");
require_once("bd_pdo.php");
define("SECURITY", 'P4$$w0rd.S3gura#CiDit&2020');//token de seguridad
$token = SECURITY;
$errorBD = false;
if (is_null($pdo))
$errorBD = true;
if(!isset($_POST['username']) || !isset($_POST['passwd'])){
echo "No se recibieron los datos";
exit;
}
$user = trim(filter_input(INPUT_POST, 'username'));//limpia texto
$pass = $_POST['passwd']; //trim(filter_input(INPUT_POST, "passwd"));//limpia texto
$externo = false;
if (intval(substr($user, 2)) == 0){
echo "Externo
";
$externo = true;
}
if (!$errorBD){
if (!$externo){
$client = new nusoap_client('http://200.13.89.27/webservice/valida_cidit.php?wsdl', 'wsdl');//dirección del webservice
if ($client->getError()) {
echo "Error de conexión al webservice
";
exit;
}else{
$result = $client->call('valida_user', array($user, $pass));//función en el webservice. user necesita ad, do
if (!$result){
echo "Error al obtener resultado del webservice
";
exit;
} else {
$userId = $result['usuario_id'];
echo "Conexión realizada para ".$result["usuario_clave"]." con mensaje: ".$result['resultMessage']."
";
}
}
}
switch (obtenerDatos($pdo, $userId, $pass, $externo)){
case 'ok':
echo "Usuario::datosUsuario OK
";
exit;
break;
case 'no-acceso':
if ($userId > 0){
if (substr($user, 0, 2) == 'al'){
echo "Usuario::datosUsuario no acceso - ALUMNO
";
} else {
echo "Usuario::datosUsuario no acceso - BASICO
";
}
} else
echo "Usuario::datosUsuario no acceso
";
exit;
break;
case 'no-validado':
echo "Usuario::datosUsuario no validado
";
exit;
break;
default:
echo "ObtenerDatos default";
exit;
break;
}
} else{
echo "Error de conexión a la BD";
exit;
}
function obtenerDatos($pdo, $user, $pass, $externo){
echo "Obteniendo datos...
";
$situacion = 'error';
$usr = Usuario::datosUsuario($pdo, $user, $pass, $externo);
if (is_null($usr))
$situacion = 'no-validado';
else {
if (count($usr) > 0){
$situacion = 'ok';
} else {
$situacion = 'no-acceso';
}
}
return $situacion;
}