/// <summary> /// Metodo :InsertarAuditoria /// Propósito :Permite insertar datos de auditoria al momento de loguear usuario /// Retorno :N/A /// Notas :N/A /// Autor :OCR - Orlando Carril R. /// Fecha/Hora de Creación :04/10/2012 /// Modificado :N/A /// Fecha/Hora Modificación :N/A /// </summary> /// <param name="objUsuario"></param> /// <returns objReturnaValor></returns> public int InsertAuditoria(BEAuditoria objAuditoria) { SeguridadData objSeguridadDataNx = null; int numVeces = 0; try { objSeguridadDataNx = new SeguridadData(); numVeces = objSeguridadDataNx.InsertarAuditoria(objAuditoria); } catch (Exception ex) { HelpLogging.Write(TraceLevel.Error, string.Concat(this.GetType().Name, ".", MethodBase.GetCurrentMethod().Name), ex, objAuditoria.desLogin); numVeces = -1; } finally { if (objSeguridadDataNx != null) { objSeguridadDataNx.Dispose(); objSeguridadDataNx = null; } } return(numVeces); }
/// <summary> /// Metodo :InsertarAuditoria /// Propósito :Permite insertar datos de auditoria al momento de loguear usuario /// Retorno :N/A /// Notas :N/A /// Autor :OCR - Orlando Carril R. /// Fecha/Hora de Creación :15/09/2019 /// Modificado :N/A /// Fecha/Hora Modificación :N/A /// </summary> /// <param name="objAuditoria"></param> public int InsertarAuditoria(BEAuditoria objAuditoria) { int codigoRetorno = 0; try { using (DBML_AccesoDataContext SQLDC = new DBML_AccesoDataContext(conexion)) { int?intResultado = 0; SQLDC.omgc_pro_SII_Auditoria(objAuditoria.codSistema, objAuditoria.codRol, objAuditoria.codUsuario, objAuditoria.desLogin, objAuditoria.desMensaje, objAuditoria.desTipo, objAuditoria.fecRegistroApp, objAuditoria.nomMaquinaIP, objAuditoria.codEmpresa, ref intResultado); codigoRetorno = intResultado.HasValue ? intResultado.Value : 0; } } catch (Exception ex) { throw ex; } return(codigoRetorno); }
/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo AUDITORIA /// En la BASE de DATO la Tabla : [Seguridad.UsuarioIngreso] /// </summary> /// <param name="itemUsuarioIngreso">Entidad de UsuarioIngreso</param> /// <returns>Valor boolean True=ok, y false=no OK</returns> public bool InsertAuditoria(BEAuditoria itemUsuarioIngreso) { int RESULTADO; try { RESULTADO = new SeguridadLogic().InsertAuditoria(itemUsuarioIngreso); } catch (Exception ex) { throw ex; } return(RESULTADO > 0); }
/// <summary> /// Metodo :DetectarUsuario /// Propósito :Permite detectar la existencia del usuario con Login y Contrasenia /// Retorno :Verdadero o Falso /// Autor :OCR - Orlando Carril R. /// Fecha/Hora de Creación :22/10/2015 /// Modificado :N/A /// Fecha/Hora Modificación :N/A /// </summary> /// <param name="pdesLogin">Login del usuario</param> /// <param name="pclvContrasenia">Contraseña del usuario</param> /// <returns></returns> public OperationResult ValidarUsuario(string pdesLogin, string pclvContrasenia, string pKeySistema, string numIP) { BEUsuarioValidoResponse objUsuarioValidado = null; SeguridadData objSeguridadDataNx = null; try { objSeguridadDataNx = new SeguridadData(); var pUserSeek = ValidarDataAccesoUsuario(pdesLogin, pclvContrasenia); if (pUserSeek.brokenRulesCollection.Count == 0) { string pMessage = string.Empty; if (!DetectLoginPasswordExterno(pdesLogin, pclvContrasenia, out pMessage)) { var operationResult = new OperationResult(); operationResult.isValid = false; operationResult.brokenRulesCollection.Add(new BrokenRule { description = pMessage, severity = RuleSeverity.Warning }); return(operationResult); } objUsuarioValidado = objSeguridadDataNx.FindLoginValidated(pdesLogin); if (objUsuarioValidado == null) { /* Guardar auditoria de los ingresos FALLIDOS al sistema */ int codigoRetorno = InsertAuditoria(new BEAuditoria { desLogin = pdesLogin, codRol = null, codSistema = pKeySistema, desMensaje = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2004).Value, desTipo = RuleSeverity.Warning.ToString(), fecRegistroApp = DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud()), nomMaquinaIP = numIP }); var operationResult = new OperationResult(); if (codigoRetorno <= 3) { operationResult.brokenRulesCollection.Add(new BrokenRule { description = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2004).Value, severity = RuleSeverity.Warning }); } else { operationResult.brokenRulesCollection.Add(new BrokenRule { description = string.Format(WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2013).Value, codigoRetorno), severity = RuleSeverity.Warning }); } return(operationResult); } else /* Guardar auditoria de los ingresos SATISFACTORIOS al sistema */ { var operationResult = new OperationResult(); operationResult = ValidarAccesoUsuarioSistemaEmpresa(objUsuarioValidado, pKeySistema); if (operationResult.isValid) { objUsuarioValidado.Token = GetToken(objUsuarioValidado); objUsuarioValidado.ResultIndValido = true; var auditoria = new BEAuditoria { desLogin = pdesLogin, codRol = objUsuarioValidado.codRol, codEmpresa = objUsuarioValidado.codEmpresa, codSistema = pKeySistema, desTipo = RuleSeverity.Success.ToString(), fecRegistroApp = DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud()), nomMaquinaIP = numIP }; auditoria.desMensaje = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2000).Value; int codigoRetorno = InsertAuditoria(auditoria); } else { return(operationResult); } } } else { objUsuarioValidado = new BEUsuarioValidoResponse(); objUsuarioValidado.ResultIMessage = pUserSeek.brokenRulesCollection[0].description; objUsuarioValidado.ResultIndValido = false; } return(OK(objUsuarioValidado)); } catch (Exception ex) { return(Error(GetType().Name, MethodBase.GetCurrentMethod().Name, ex, "", "")); } }