function procesarFormulario() { /** * * @todo lógica de procesamiento */ session_start(); $arregloLogin = array('CierreSesion', $_REQUEST["usuario"], $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']); $argumento = json_encode($arregloLogin); $arreglo = array($_REQUEST["usuario"], $argumento); $sesionActiva = $_REQUEST['sesion']; $log = array('accion' => "SALIDA", 'id_registro' => $_REQUEST["usuario"] . "|" . $sesionActiva, 'tipo_registro' => "LOGOUT", 'nombre_registro' => $arreglo[1], 'descripcion' => "Salida al sistemas del usuario " . $_REQUEST["usuario"] . " con la sesion " . $sesionActiva); // var_dump($log); //$_COOKIE["aplicativo"]=$estaSesion; $this->miLogger->log_usuario($log); $borrarSesion = $this->miSesion->borrarValorSesion('TODOS', $sesionActiva); $terminarSesion = $this->miSesion->terminarSesion($sesionActiva); session_destroy(); Redireccionador::redireccionar('paginaPrincipal', false); }
public function procesarFormulario() { /** * * @todo lógica de procesamiento */ $conexion = "estructura"; $esteRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion); $arregloLogin = array(); if (!$esteRecursoDB) { // Este se considera un error fatal exit; } /** * * @todo En entornos de producción la clave debe codificarse utilizando un objeto de la clase Codificador */ $variable['usuario'] = $_REQUEST["usuario"]; $variable['clave'] = $this->miConfigurador->fabricaConexiones->crypto->codificarClave($_REQUEST["clave"]); // Verificar que el tiempo registrado en los controles no sea superior al tiempo actual + el tiempo de expiración if ($_REQUEST['tiempo'] <= time() + $this->miConfigurador->getVariableConfiguracion('expiracion')) { // Verificar que el usuario esté registrado en el sistema $cadena_sql = $this->miSql->getCadenaSql("buscarUsuario", $variable); $registro = $esteRecursoDB->ejecutarAcceso($cadena_sql, "busqueda"); if ($registro) { if ($registro[0]['clave'] == $variable["clave"]) { // 1. Crear una sesión de trabajo $estaSesion = $this->miSesion->crearSesion($registro[0]["identificacion"]); $arregloLogin = array('autenticacionExitosa', $registro[0]["identificacion"], $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']); $argumento = json_encode($arregloLogin); $arreglo = array($registro[0]["identificacion"], $argumento); if ($estaSesion) { $log = array('accion' => "INGRESO", 'id_registro' => $variable['usuario'] . "|" . $estaSesion, 'tipo_registro' => "LOGIN", 'nombre_registro' => $arreglo[1], 'descripcion' => "Ingreso al sistemas del usuario " . $variable['usuario'] . " con la sesion " . $estaSesion); $_COOKIE["aplicativo"] = $estaSesion; $this->miLogger->log_usuario($log); // Si estado dif Activo redirecciona a pagina decambio contraseña if ($registro[0]['estado'] == 't') { $arregloUsuario = array("usuario" => $_REQUEST['usuario'], "registro" => $registro[0]); //Crear Session Usuario $this->SesionUsuario->executeFuntion("Iniciar", $_REQUEST['usuario']); Redireccionador::redireccionar('indexPrincipal', $arregloUsuario); exit; } } // Redirigir a la página principal del usuario, en el arreglo $registro se encuentran los datos de la sesion: // $this->funcion->redireccionar("indexUsuario", $registro[0]); return true; } else { // echo "no valido"; // exit; // Registrar el error por clave no válida $arregloLogin = array('claveNoValida', $variable['usuario'], $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']); } } else { // Registrar el error por usuario no valido $arregloLogin = array('usuarioNoValido', $variable['usuario'], $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']); } } else { // Registrar evento por tiempo de expiración en controles $arregloLogin = array('formularioExpirado', $variable['usuario'], $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']); } $argumento = json_encode($arregloLogin); $arreglo = array($registro[0]["id_usuario"], $argumento); Redireccionador::redireccionar('paginaPrincipal', $arregloLogin[0]); $cadena_sql = $this->miSql->getCadenaSql("registrarEvento", $arreglo); $registroAcceso = $esteRecursoDB->ejecutarAcceso($cadena_sql, "acceso"); }