Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
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, "", ""));
            }
        }