/// <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); } } } } }