Ejemplo n.º 1
0
        public static ResultadoOperacion EnviarClaveTemporal(string nombreUsuario, string preguntaSecretaCT, string respuestaSecretaCT)
        {
            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();
            var resultado = seg.EnviarClaveTemporal(nombreUsuario, preguntaSecretaCT, respuestaSecretaCT);

            return(resultado);
        }
Ejemplo n.º 2
0
        public static String ObtenerPreguntaSecreta(string nombreUsuario)
        {
            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();
            var resultado = seg.ObtenerPreguntaSecreta(nombreUsuario);

            return(resultado);
        }
Ejemplo n.º 3
0
        protected void BtnIniciarSesion_Click(object sender, EventArgs e)
        {
            try
            {
                LblMensaje.Visible = true;

                var resultado = SeguridadLocal.IniciarSesion(TxtNombreUsuario.Text, TxtPassword.Text);

                if (resultado.EsExitoso)
                {
                    SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();


                    var sistemas = seg.ObtenerListadoSistemasPorCuenta(TxtNombreUsuario.Text);
                    if (sistemas.Where(s => s.Codigo == Configuracion.ObtenerCodigoSistema()).Count() > 0)
                    {
                        Response.Redirect("~/RegistroCentral/CSI/Inventario.aspx");
                    }
                    else
                    {
                        LblMensaje.Text = "* No tiene permisos para acceder a esta interfaz.";
                    }
                }
                else
                {
                    LblMensaje.Visible = true;
                    //  ImgError.Visible = true;
                    //      LblMensaje.Text = "* Intento de conexión incorrecto. ";
                    foreach (var item in resultado.Infracciones)
                    {
                        if (item.Mensaje.Equals("La contraseña ha expirado, favor especificar una nueva contraseña."))
                        {
                            PanInicioSesion.Visible = false;
                            PanCambioCorreo.Visible = true;
                        }
                        else
                        {
                            LblMensaje.Text  = "* Intento de conexión incorrecto. ";
                            LblMensaje.Text += "<br>- " + item.Mensaje;



                            if (TxtNombreUsuario.Text != "")   //Esto descomentariarlo y componerlo luego
                            {
                                LinkButtonOlvidoContrasena.Visible = true;
                            }
                            else
                            {
                                LinkButtonOlvidoContrasena.Visible = false;
                            }
                        }
                    }
                }
            }
            catch (FaultException <ExcepcionServicio> ex)
            {
                LblMensaje.Text = "* " + ex.Detail.Mensaje;
            }
        }
Ejemplo n.º 4
0
        public static ResultadoOperacion GuardarPreguntaSecreta(string nombreUsuario, string claveNueva, string preguntaSecreta, string respuestaSecreta)
        {
            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();

            var resultado = seg.GuardarPreguntaSecreta(nombreUsuario, claveNueva, preguntaSecreta, respuestaSecreta);

            return(resultado);
        }
Ejemplo n.º 5
0
        public static ResultadoOperacion CambiarContrasena(string nombreUsuario, string claveTemporal, string claveNueva, string claveNuevaConfirmacion)
        {
            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();

            var resultado = seg.CambiarContrasena(nombreUsuario, claveTemporal, claveNueva, claveNuevaConfirmacion);

            return(resultado);
        }
Ejemplo n.º 6
0
        protected void BtnSolicitarClaveTemporal_Click(object sender, EventArgs e)
        {
            if (txtRespuestaSecretaCT.Text == "")
            {
                LblMensaje3.Text = "Por favor complete los campos requeridos";
                return;
            }


            ResultadoOperacion resultado = new ResultadoOperacion();

            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();


            try {
                resultado = seg.EnviarClaveTemporal(TxtNombreUsuario.Text, TxtPreguntaSecretaCT.Text, txtRespuestaSecretaCT.Text);
                if (resultado.EsExitoso)
                {
                    BtnSolicitarClaveTemporal.Enabled = false;
                    LblMensaje3.Text    = "Se ha enviado una clave temporal a su correo electrónico, inicie sesión";
                    LinkButton1.Visible = true;
                    return;
                    //   System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), "Script3", "$.unblockUI()", true);
                }
                else
                {
                    foreach (var item in resultado.Infracciones)
                    {
                        if (item.Mensaje.Equals("Usuario inválido, favor verificar."))
                        {
                            LblMensaje3.Text    = "Usuario inválido, favor verificar.";
                            LinkButton1.Visible = true;
                            return;
                        }
                        else if (item.Mensaje != "Usuario inválido, favor verificar." & (!resultado.EsExitoso))
                        {
                            LblMensaje3.Text    = "Respuesta Incorrecta, intente de nuevo";
                            LinkButton1.Visible = true;
                            return;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LblMensaje3.Text    = "Ocurrió un problema con la solicitus de la clave, por favor intente más tarde";
                LinkButton1.Visible = true;
                return;
            }
        }
Ejemplo n.º 7
0
        public static void CerrarSesion()
        {
            try
            {
                SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();

                if (Convert.ToString(HttpContext.Current.Session["IdSesion"]) != "")
                {
                    seg.CerrarSesionPorID(Convert.ToInt32(HttpContext.Current.Session["IdSesion"]));
                }
                if (HttpContext.Current != null)
                {
                    FormsAuthentication.SignOut();
                }
            }
            catch { }
        }
Ejemplo n.º 8
0
        protected void ValidarSeguridad()
        {
            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();

            var acciones = seg.ObtenerListadoAccionesPorCuenta(Page.User.Identity.Name, Configuracion.ObtenerCodigoSistema(), Configuracion.ObtenerNombreInterfaz(), "Inventario").ToList();


            if (SeguridadLocal.PoseePermiso(acciones, "AgregarInventario"))
            {
                //    BtnGuardar.Enabled = true;
                ASPxGuardar.Enabled = true;
            }
            else
            {
                //     BtnGuardar.Enabled = false;
                ASPxGuardar.Enabled = false;
            }
        }
Ejemplo n.º 9
0
        public static List <Rol> ObtenerListadoRolesPorCuenta(String usuario, String codigoSistema)
        {
            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();

            try
            {
                // List<Sistema> resultado;

                List <Rol> resultado;

                resultado = seg.ObtenerListadoRolesPorCuenta(usuario, codigoSistema).ToList();


                return(resultado);
            }
            catch (FaultException <ExcepcionServicio> ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 10
0
        protected void LinkButtonOlvidoContrasena_Click(object sender, EventArgs e)
        {
            PanInicioSesion.Visible           = false;
            PanCambioCorreo.Visible           = false;
            PanSolicitudClaveTemporal.Visible = true;

            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();

            string PreguntaSecreta = seg.ObtenerPreguntaSecreta(TxtNombreUsuario.Text);

            if (PreguntaSecreta == "Usuario inválido, por favor verifique" | PreguntaSecreta == "Usuario ivalido, por favor verifique") //Temporal mientras se instala de nuevo el servicio
            {
                LblMensaje3.Text = "Usuario inválido, por favor verifique";
                BtnSolicitarClaveTemporal.Enabled = false;
                LinkButton1.Visible = true;
                return;
            }
            else
            {
                TxtPreguntaSecretaCT.Text = PreguntaSecreta;
            }
        }
Ejemplo n.º 11
0
        protected void BtnCambiarContrasena_Click1(object sender, EventArgs e)
        {
            string PreguntaSec;



            if (ASPxComboBoxPregunta.Text == "Pregunta Personal")
            {
                if (TxtPreguntaPersonal.Text == "" | TxtRepuesta.Text == "")
                {
                    LblMensaje2.Text = "* Contraseña no fue actualizada. <br>- Debe especificar los campos mínimos.";
                    return;
                }
            }
            else
            {
                if (ASPxComboBoxPregunta.Text == "" | TxtRepuesta.Text == "")
                {
                    LblMensaje2.Text = "* Contraseña no fue actualizada. <br>- Debe especificar los campos mínimos.";
                    return;
                }
            }

            if (ASPxComboBoxPregunta.Text == "Pregunta Personal")
            {
                PreguntaSec = TxtPreguntaPersonal.Text;
            }
            else
            {
                PreguntaSec = ASPxComboBoxPregunta.Text;
            }


            if (TxtClaveActual.Text == "" | TxtClaveNueva.Text == "" | TxtClaveNuevaConfirmacion.Text == "")
            {
                LblMensaje2.Text = "* Contraseña no fue actualizada. <br>- Debe especificar los campos mínimos.";
                return;
            }


            try
            {
                LblMensaje2.Visible = true;
                // ImgError.Visible = false;
                //var resultado = SI.CambiarContrasena(Page.User.Identity.Name, TxtClaveActual.Text, TxtClaveNueva.Text, TxtClaveNuevaConfirmacion.Text);

                SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();


                var resultado = seg.CambiarContrasena(TxtNombreUsuario.Text, TxtClaveActual.Text, TxtClaveNueva.Text, TxtClaveNuevaConfirmacion.Text);
                if (resultado.EsExitoso)
                {
                    LblMensaje2.Text = "* Contraseña actualizada.";
                    HdfMensaje.Value = "Contraseña actualizada.";
                }
                else
                {
                    foreach (var item in resultado.Infracciones)
                    {
                        if (item.Mensaje.Equals("Debe especificar los campos mínimos."))
                        {
                            LblMensaje2.Text = "Debe especificar los campos mínimos.";
                            return;
                        }
                        else if (item.Mensaje.Equals("La clave debe tener como mínimo 6 carácteres"))
                        {
                            LblMensaje2.Text = "La clave debe tener como mínimo 6 carácteres";
                            return;
                        }

                        else if (item.Mensaje.Equals("Formato de Clave Inválido."))     //Msg0010
                        {
                            LblMensaje2.Text = "Formato de Clave Inválido.";
                            return;
                        }


                        else if (item.Mensaje.Equals("La cuenta de usuario especificada no existe."))       //Msg0005
                        {
                            LblMensaje2.Text = "La cuenta de usuario especificada no existe.";
                            return;
                        }

                        else if (item.Mensaje.Equals("La clave especificada no coincide con la clave de la cuenta de usuario."))   //Msg0006
                        {
                            LblMensaje2.Text = "La clave especificada no coincide con la clave de la cuenta de usuario.";
                            return;
                        }

                        else if (item.Mensaje.Equals("Las contraseñas no coinciden, favor verificar."))   //Msg0007
                        {
                            LblMensaje2.Text = "Las contraseñas no coinciden, favor verificar.";
                            return;
                        }


                        else if (item.Mensaje.Equals("La nueva contraseña ha sido utilizada anteriormente, favor vuelva a intentarlo."))  //Msg0008
                        {
                            LblMensaje2.Text = "La nueva contraseña ha sido utilizada anteriormente, favor vuelva a intentarlo.";
                            return;
                        }
                    }
                }

                //Si la invocacion del primer servicio es exitosa procedemos al segundo:

                ResultadoOperacion resultado2 = new ResultadoOperacion();

                resultado2 = seg.GuardarPreguntaSecreta(TxtNombreUsuario.Text, TxtClaveNueva.Text, PreguntaSec, TxtRepuesta.Text);


                if (resultado.EsExitoso)
                {
                    Response.Redirect("~/Login.aspx");
                }

                else
                {
                    foreach (var item in resultado2.Infracciones)
                    {
                        LblMensaje2.Visible = true;
                        LblMensaje2.Text    = "* Contraseña no fue actualizada. ";
                    }
                }
            }
            catch (FaultException <ExcepcionServicio> ex)
            {
                LblMensaje2.Text = "* " + ex.Detail.Mensaje;
            }
        }
Ejemplo n.º 12
0
        public static ResultadoOperacion IniciarSesion(String usuario, String clave)
        {
            JavaScriptSerializer serializador = new JavaScriptSerializer();

            FormsAuthenticationTicket ticket;
            //  Usuario usuarioPagina;
            String datos;



            //  AgenteEconomico agente;
            // AgenteEconomicoAgenteTipo agenteEconomicoAgenteTipo;

            String    nombreCliente = Red.ObtenerNombreEquipo();
            IPAddress ip            = Red.ObtenerIP();
            IPAddress mascaraRed    = Red.ObtenerMascaraRed(ip);
            IPAddress red           = Red.ObtenerIPRed(ip, mascaraRed);

            SeguridadServicio_T.SeguridadContratoClient seg = new SeguridadContratoClient();


            var resultado = seg.IniciarSesion(red.ToString(), ip.ToString(), nombreCliente, Configuracion.ObtenerCodigoSistema(), usuario, clave);



            if (resultado == null)
            {
                return new ResultadoOperacion()
                       {
                           EsExitoso = false
                       }
            }
            ;
            if (resultado.EsExitoso == true)
            {
                HttpContext.Current.Session["IdSesion"] = resultado.Identificador.Value;

                var sesion = seg.ObtenerSesionPorID(resultado.Identificador.Value);
                var cuenta = seg.ObtenerCuentaPorID(sesion.IdCuenta);
                FormsAuthentication.SetAuthCookie(usuario, true);


                //  usuarioPagina = new Usuario(usuario);
                Usuario usuarioPagina = new Usuario();

                usuarioPagina.IdSesion     = sesion.IdSesion;
                usuarioPagina.CodigoSesion = sesion.Codigo;
                usuarioPagina.IdPersona    = cuenta.IdPersona;
                usuarioPagina.Alias        = usuario;
                usuarioPagina.IdCuenta     = cuenta.IdCuenta;


                AgenteEconomicoServicio_T.AgenteEconomicoContratoClient ag = new AgenteEconomicoContratoClient();


                var agente = ag.ObtenerPorPersona(cuenta.IdPersona);



                usuarioPagina.IdAgenteEconomico = agente.IdAgenteEconomico;

                var agenteEconomicoAgenteTipo = ag.ObtenerAgenteEconomicoAgenteTipo(usuarioPagina.IdAgenteEconomico, 1); //El AgenteTipo 1 es para gasolineras

                usuarioPagina.IdAgenteEconomicoAgenteTipo = agenteEconomicoAgenteTipo.IdAgenteEconomicoAgenteTipo;

                datos = serializador.Serialize(usuarioPagina);


                //datos = serializador.Serialize(usuarioPagina);
                //datos = usuarioPagina.Alias;


                //ticket = new FormsAuthenticationTicket(1, FormsAuthentication.FormsCookieName, DateTime.Now,
                //         DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes), false, datos);

                ticket = new FormsAuthenticationTicket(1, usuario, DateTime.Now,
                                                       DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes), true, datos);

                string encTicket = FormsAuthentication.Encrypt(ticket);


                HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);

                faCookie.Expires = ticket.Expiration;
                faCookie.Path    = FormsAuthentication.FormsCookiePath;

                HttpContext.Current.Response.Cookies.Add(faCookie);
                RefrescarContexto();

                return(resultado);
            }
            else
            {
                return(resultado);
            }
        }