Ejemplo n.º 1
0
        /// <summary>
        /// Evento Generado al hacer click en cualquier link Opciones
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void OnClick_MenuOpciones(object sender, EventArgs e)
        {
            //Referenciamos al objeto que disparo el evento
            LinkButton boton = (LinkButton)sender;

            //De acuerdo al nombre de comando
            switch (boton.CommandName)
            {
            //Cerramos Sesion
            case "CerrarSesion":
                //Declaramos Objeto Resultante
                RetornoOperacion resultado = new RetornoOperacion();
                //Instanciamos la Sesion del Usuario
                using (UsuarioSesion objUsuarioSesion = ((UsuarioSesion)Session["usuario_sesion"]))
                {
                    //Validamos que exista Sesion
                    if (objUsuarioSesion.id_usuario_sesion > 0)
                    {
                        //Cerramos Sesion en BD
                        resultado = objUsuarioSesion.TerminarSesion();

                        //Si se Termino la Sesión correctamnete
                        if (resultado.OperacionExitosa)
                        {
                            //Cerramos Session
                            Sesion.CierraSesionActual(FormsAuthentication.LoginUrl);
                        }
                    }
                }
                break;

            case "CambiaContrasena":
            {
                //Validando que exista un Evento
                if (ClickCambiarContrasena != null)
                {
                    //Iniciando Manejador
                    OnClickCambiarContrasena(e);
                }

                break;
            }

            case "CambiaPerfil":
            {
                //Validando que exista un Evento
                if (ClickCambiaPerfil != null)
                {
                    //Iniciando Manejador
                    OnClickCambiaPerfil(e);
                }

                break;
            }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Validamos Si la Sesión se encuentra activa
        /// </summary>
        private void validaSesionActiva()
        {
            //Verificando que exista una sesión de BD en la sesión de ASP
            if (Session["usuario_sesion"] == null)
            {
                //Recuperando la cookie
                HttpCookie c = Request.Cookies.Get("Login");

                //Instanciando al usuario sesión  para cerrar la sesión
                using (UsuarioSesion objUsuarioSesion = new UsuarioSesion(Convert.ToInt32(c["ID"])))
                {
                    //Validamos que exista Sesion
                    if (objUsuarioSesion.id_usuario_sesion > 0)
                    {
                        //Cerramos Sesion BD
                        objUsuarioSesion.TerminarSesion();
                    }
                }

                //Cerramos Session desde asp.net
                Sesion.CierraSesionActual(FormsAuthentication.LoginUrl);
            }
            else
            {
                //Instanciamos Usuario Sesion
                using (UsuarioSesion objUsuarioSesion = (UsuarioSesion)Session["usuario_sesion"])
                {
                    //Refresca Atributos
                    if (objUsuarioSesion.ActualizaUsuarioSesion())
                    {
                        //Validando si la sesión ha finalizado
                        if (objUsuarioSesion.EstatusSesion == UsuarioSesion.Estatus.Activo)
                        {
                            //Referenciando al usuario de la sesión actual
                            using (Usuario u = (Usuario)Session["usuario"])
                            {
                                //Actualziando información desde BD
                                if (u.ActualizaAtributos())
                                {
                                    //Validando posible cambio de contraseña no reflejado en esta sesión
                                    if (u.fecha_contrasena < objUsuarioSesion.ultima_actividad)
                                    {
                                        //Actualizamos Ultima Actividad
                                        objUsuarioSesion.ActualizaUltimaActividad();
                                    }
                                    //Si la contraseña se modificó
                                    else
                                    {
                                        //Direccionando a página de inicio
                                        Sesion.CierraSesionActual(FormsAuthentication.LoginUrl);
                                    }
                                }
                            }
                        }
                        else
                        {
                            //Direccionando a página de inicio
                            Sesion.CierraSesionActual(FormsAuthentication.LoginUrl);
                        }
                    }
                }
            }
        }