diff --git a/Inventario-war/src/java/mx/edu/tsj/chapala/sistemas/inventario/seguridad/Login.java b/Inventario-war/src/java/mx/edu/tsj/chapala/sistemas/inventario/seguridad/Login.java index c2f8a62..c235ed7 100644 --- a/Inventario-war/src/java/mx/edu/tsj/chapala/sistemas/inventario/seguridad/Login.java +++ b/Inventario-war/src/java/mx/edu/tsj/chapala/sistemas/inventario/seguridad/Login.java @@ -1,10 +1,12 @@ package mx.edu.tsj.chapala.sistemas.inventario.seguridad; +import java.io.IOException; import javax.inject.Named; import javax.enterprise.context.SessionScoped; import java.io.Serializable; import javax.annotation.PostConstruct; import javax.faces.application.FacesMessage; +import javax.faces.context.ExternalContext; import javax.faces.context.FacesContext; import javax.servlet.http.HttpSession; import mx.edu.tsj.chapala.sistemas.inventario.modelo.bl.UsuariosBL; @@ -26,6 +28,19 @@ public class Login implements Serializable { public void init() { usuariosBL = new UsuariosBL(); // O cualquier método adecuado para inicializar usuariosBL } + //Codigo de Exceptions: + public String handleViewExpiredException() { + FacesContext context = FacesContext.getCurrentInstance(); + ExternalContext externalContext = context.getExternalContext(); + try { + externalContext.redirect(externalContext.getRequestContextPath() + "login.xhtml"); + } catch (IOException e) { + // Manejar la excepción de redirección + e.printStackTrace(); + } + context.responseComplete(); + return null; + } public static void getSesion(){ httpSession = (HttpSession) @@ -33,8 +48,10 @@ public class Login implements Serializable { } public static String logout(){ + httpSession.removeAttribute("sesionActiva"); httpSession.invalidate(); + FacesContext.getCurrentInstance().getExternalContext().invalidateSession(); return "login.xhtml"; } public void limpiarCampos() { diff --git a/Inventario-war/web/WEB-INF/web.xml b/Inventario-war/web/WEB-INF/web.xml index 601c31d..bafd8ab 100644 --- a/Inventario-war/web/WEB-INF/web.xml +++ b/Inventario-war/web/WEB-INF/web.xml @@ -18,6 +18,11 @@ 30 + + javax.faces.application.ViewExpiredException + /error.xhtml + + faces/productosLista.xhtml diff --git a/Inventario-war/web/error.xhtml b/Inventario-war/web/error.xhtml new file mode 100644 index 0000000..5d7b295 --- /dev/null +++ b/Inventario-war/web/error.xhtml @@ -0,0 +1,35 @@ + + + + + Error + + + +
+

Error

+

Se ha detectado un error. Por favor, vuelve hacia atras y recarga la página e intenta de nuevo.

+

Nota: Si el problema persiste, por favor, contacta al administrador del sistema.

+
+ + + + + +
+ diff --git a/Inventario-war/web/login.xhtml b/Inventario-war/web/login.xhtml index b2bf642..178231d 100644 --- a/Inventario-war/web/login.xhtml +++ b/Inventario-war/web/login.xhtml @@ -7,6 +7,23 @@ Inicio de sesión + + + +