static List <string> ObtenUbicacionCliente(DatosCliente datos) { List <string> cambios = new List <string>(); string ubicacionHostAddr = datos.HostAddr; //"hostx"; //HttpUtility.HtmlEncode(HttpContext.Current.Request.UserHostAddress); string ubicacionClientIP = datos.ClientIP; // "ipx"; //HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"]; string ubicacionRemoteAddr = datos.RemoteAddr; // "addrx"; //HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; if (ubicacionHostAddr != null && ubicacionHostAddr != "") { cambios.Add("- Dirección del host: " + ubicacionHostAddr); } if (ubicacionClientIP != null && ubicacionClientIP != "" && ubicacionClientIP != ubicacionHostAddr) { cambios.Add("- Dirección IP del cliente: " + ubicacionClientIP); } if (ubicacionRemoteAddr != null && ubicacionRemoteAddr != "" && ubicacionRemoteAddr != ubicacionClientIP && ubicacionRemoteAddr != ubicacionHostAddr) { cambios.Add("- Dirección remota: " + ubicacionRemoteAddr); } if (cambios.Count > 0) { cambios.Insert(0, "Acción realizada desde: "); } return(cambios); }
//Crea e Inserta un registro en la bitácora /// <summary>Se requiere ClavePersona y Nombre en usuario /// </summary> public static void InsertaLogin(Personas usuario, bool loginExitoso, DatosCliente cliente) { if (esActiva) { try { BitacoraMovSISTEMA movimiento; if (loginExitoso) { List <string> cambios = ObtenUbicacionCliente(cliente); cambios.Insert(0, "Inició sesión"); movimiento = new BitacoraMovSISTEMA(cambios, usuario); movimiento.cveTipoMovimiento = "inicio_sesion"; } else { List <string> cambios = ObtenUbicacionCliente(cliente); cambios.Insert(0, "Se intentó iniciar sesión con credenciales incorrectas"); movimiento = new BitacoraMovSISTEMA(cambios); movimiento.cveAutor = "anonimo"; movimiento.nombreAutor = "Anónimo"; movimiento.cveTipoMovimiento = "acceso_fallido"; } movimiento.cveElemento = "sistema"; movimiento.elemento = "Sistema"; movimiento.tipoMovimiento = ObtenEtiquetaTipoMovimiento(movimiento.cveTipoMovimiento); Movimientos.InsertOneAsync(movimiento); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
public static void InsertaLogOff(DatosCliente cliente) { if (esActiva) { try { BitacoraMovSISTEMA movimiento; List <string> cambios = ObtenUbicacionCliente(cliente); cambios.Insert(0, "Terminó sesión"); movimiento = new BitacoraMovSISTEMA(cambios); movimiento.cveTipoMovimiento = "inicio_sesion"; movimiento.cveElemento = "sistema"; movimiento.elemento = "Sistema"; movimiento.tipoMovimiento = ObtenEtiquetaTipoMovimiento(movimiento.cveTipoMovimiento); Movimientos.InsertOneAsync(movimiento); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
public static void InsertaRecuperaPass(string cveElemento, DatosCliente datos) { try { List <string> cambios = ObtenUbicacionCliente(datos); cambios.Insert(0, "Se solicitó recuperar la contraseña del usuario con RPE: " + cveElemento); BitacoraMovSISTEMA movimiento = new BitacoraMovSISTEMA(cambios); movimiento.cveElemento = cveElemento; movimiento.elemento = "Contraseña, de usuario :" + cveElemento; movimiento.cveAutor = "anomimo"; movimiento.nombreAutor = "Anónimo"; movimiento.cveTipoMovimiento = "cambio_password"; movimiento.tipoMovimiento = ObtenEtiquetaTipoMovimiento(movimiento.cveTipoMovimiento); Movimientos.InsertOneAsync(movimiento); } catch (Exception ex) { Console.WriteLine(ex.Message); } }