/// <summary> /// Método encargado de Actualizar la Ultima Actividad del Usuario /// </summary> /// <param name="id_usuario_sesion">Sesión Activa</param> /// <param name="direccion_mac">Dirección MAC</param> /// <param name="nombre_dispositivo">Nombre del Dispositivo</param> /// <returns></returns> public string ActualizaUltimaActividad(int id_usuario_sesion, string direccion_mac, string nombre_dispositivo) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Instanciando Usuario Sesión using (UsuarioSesion us = new UsuarioSesion(id_usuario_sesion)) { //Validando que exista if (us.habilitar && us.EstatusSesion == UsuarioSesion.Estatus.Activo) { //Actualizamos Ultima Actividad result = us.ActualizaUltimaActividad(direccion_mac, nombre_dispositivo); } else { //Instanciando Excepción result = new RetornoOperacion("La Sesión ha Expirado"); } } //Devolviendo Resultado Obtenido return(result.ToXMLString()); }
/// <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); } } } } }