Exemple #1
0
        public string RecuperarTipoSeguridadYNombreDeDominio(System.Net.CookieContainer cokie)
        {
            FInicioSesion facIniSec = new FInicioSesion();

            string strNombreDominio = "";
            string strDominioMixto  = "";

            //Recupera de la BD.
            strNombreDominio = facIniSec.RecuperarNombreDominio(cokie);

            if (strNombreDominio == Constantes.SeguridadNODefinida)
            {
                return("(***Seguridad No Definida***)");
            }

            if (strNombreDominio.Trim().Equals("*"))
            {
                return("(Seguridad de CIPOL)");
            }

            //if (strNombreDominio.PadRight(1) == "*")
            if (strNombreDominio.Substring((strNombreDominio.Length - 1), 1) == "*")
            {
                strDominioMixto  = " (Seguridad Mixta: ";
                strNombreDominio = strNombreDominio.Replace("*", "");
            }
            else
            {
                strDominioMixto = " (Seguridad Integrada al Dominio: ";
            }

            return(strDominioMixto + strNombreDominio + ")");
        }
        /// <summary>
        /// Permite registrar la expiracion de la sesion
        /// </summary>
        /// <history>
        /// [LucianoP]          [jueves, 6 de abril de 2017]    Creado
        /// </history>
        public void RegistrarExpiroSesion()
        {
            FInicioSesion objFIS = null;

            try
            {
                objFIS = new FInicioSesion();
                objFIS.RegistrarExpiroSesion();
            }
            catch
            {
                throw;
            }
        }
        public string SalirSistema()
        {
            try
            {
                Fachada.FInicioSesion objInicioSesion = new FInicioSesion();
                //cierra la sessión.
                objInicioSesion.CerrarSesion();

                string mensaje = ManejoSesion.MensajeCerrar;
                HttpContext.Current.Session.Abandon();
                return(mensaje);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        private string AdministrarContrasenia()
        {
            try
            {
                string strMensaje = string.Empty;
                string strClave;
                System.Security.Cryptography.RSACryptoServiceProvider objRSA = new System.Security.Cryptography.RSACryptoServiceProvider();
                EntidadesEmpresariales.PadreCipolCliente objCipol            = (EntidadesEmpresariales.PadreCipolCliente)ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente;
                FSeguridad    objFachada      = new FSeguridad();
                FInicioSesion objInicioSesion = new FInicioSesion();

                objRSA.ImportCspBlob(objCipol.gobjRSAServ);
                strClave = CurrentPassword.Text.Trim();
                strClave = System.Convert.ToBase64String(objRSA.Encrypt(System.Text.UTF8Encoding.UTF8.GetBytes(strClave), false));

                if (CurrentPassword.Text.Trim().Equals(NewPassword.Text.Trim()))
                {
                    return(COA.Cipol.Presentacion.PaginaPadre.RetornaMensajeUsuario(50));
                }

                if (NewPassword.Text.Trim().Length < ManejoSesion.gudParam.LongitudContraseña)
                {
                    if (objInicioSesion.Auditar(COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(500, objCipol.Login, "", "")))
                    {
                        return("La contraseña especificada debe tener una longitud mínima de " + ManejoSesion.gudParam.LongitudContraseña + " caracteres.");
                    }
                    else
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                }

                if (!NewPassword.Text.Trim().Equals(ConfirmNewPassword.Text.Trim()))
                {
                    if (objInicioSesion.Auditar(COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(190, objCipol.Login, "", "")))
                    {
                        return(COA.Cipol.Presentacion.PaginaPadre.RetornaMensajeUsuario(55));
                    }
                    else
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                }

                string strNuevaContraseña;
                strNuevaContraseña = NewPassword.Text.Trim();
                string strTemp = ValidarSeguridadContrasenia(ref strNuevaContraseña);

                if (!string.IsNullOrEmpty(strTemp.Trim()))
                {
                    if (objInicioSesion.Auditar(COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(205, objCipol.Login, "", "")))
                    {
                        return(strTemp);
                    }
                    else
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                }

                COA.WebCipol.Entidades.ClasesWs.dcRecuperarDatosParaABMUsuarios.dcRecuperarDatosParaABMUsuarios objResp = objFachada.RecuperarDatosParaABMUsuarios(objCipol.IDUsuario);


                strNuevaContraseña = System.Convert.ToBase64String(objRSA.Encrypt(System.Text.UTF8Encoding.UTF8.GetBytes(strNuevaContraseña), false));
                if (!objInicioSesion.CambiarContrasenia(ManejoSesion.gudParam.CantidadContraseñasAlmacenadas,
                                                        objCipol.IDUsuario,
                                                        objCipol.Login,
                                                        COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(210, objCipol.Login, "", ""),
                                                        strNuevaContraseña,
                                                        ManejoSesion.gudParam.DuracionContraseña,
                                                        ManejoSesion.ModoCambioClave,
                                                        strClave,
                                                        ref strMensaje,
                                                        ManejoSesion.gudParam.TiempoEnDiasNoPermitirCambiarContrasenia))
                {
                    if (strMensaje.Trim().ToUpper().Equals("OCURRIO ERROR"))
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                    else
                    if (string.IsNullOrEmpty(strMensaje))
                    {
                        return(COA.Cipol.Presentacion.PaginaPadre.RetornaMensajeUsuario(50));
                    }
                    else
                    {
                        return(strMensaje);
                    }
                }

                return("");
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }