-
La acción que estaba realizando a causado un error inesperado en el sistema. A continuación podrá ver un descripción detallada del error para que
- pueda comunicarlo al equipo de soporte.
+
diff --git a/1.sources/MyHealth/docroot/header.xhtml b/1.sources/MyHealth/docroot/header.xhtml
index 8d6f740..37a8dc5 100644
--- a/1.sources/MyHealth/docroot/header.xhtml
+++ b/1.sources/MyHealth/docroot/header.xhtml
@@ -27,9 +27,9 @@
}
+
@@ -39,9 +39,7 @@
-
-
-
+
Se ha producido un error!
diff --git a/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java b/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java
index 945a532..22d3742 100644
--- a/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java
+++ b/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java
@@ -2,11 +2,9 @@
package managedbean.common;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.List;
import javax.faces.application.FacesMessage;
+import javax.faces.application.ViewExpiredException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -18,9 +16,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
-import org.primefaces.model.menu.DefaultSeparator;
-import org.primefaces.model.menu.DefaultSubMenu;
-
import common.UserType;
@WebFilter(filterName = "AuthFilter", urlPatterns = { "*.xhtml" })
@@ -39,20 +34,30 @@ public class AuthorizationFilter implements Filter {
try {
HttpServletRequest req = (HttpServletRequest) request;
+ String reqURI = req.getRequestURI();
+
HttpServletResponse resp = (HttpServletResponse) response;
HttpSession ses = req.getSession(false);
- String reqURI = req.getRequestURI();
-
- // Para recursos publicos permitimos el acceso
+ // Para recursos publicos permitimos el acceso exista sesión o no.
if (reqURI.indexOf("/login.xhtml") >= 0 || reqURI.indexOf("/profile/RegisterUser.xhtml") >= 0 || reqURI.indexOf("/home.xhtml") >= 0
|| reqURI.indexOf("/error.xhtml") >= 0 || reqURI.indexOf("/public/") >= 0 || reqURI.contains("javax.faces.resource")) {
chain.doFilter(request, response);
return;
}
- // Si el usuario está logeado comprobamos si está autorizado a ver la página
- // solicitada.
+ // Sesión expirada
+ if (req.isRequestedSessionIdValid() == false && req.getRequestedSessionId() != null) {
+ chain.doFilter(request, response);
+ return;
+ //throw new ViewExpiredException("Session expired!", "error");
+ //resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
+ //SessionUtils.addMessage(ses, FacesMessage.SEVERITY_ERROR, "Su sesión ha caducado", "Su sesión ha caducado, por favor inicie sesión de nuevo.");
+ //resp.sendRedirect(req.getContextPath() + "/error.xhtml?type=expired");
+ //return;
+ }
+
+ // Si el usuario está logeado comprobamos si está autorizado a ver la página solicitada.
if (SessionUtils.isLogedIn(ses) == true) {
UserType tipoUsuario = SessionUtils.getUserType(ses);
boolean authorized = false;
@@ -130,7 +135,9 @@ public class AuthorizationFilter implements Filter {
chain.doFilter(request, response);
return;
} else {
- SessionUtils.addMessage(ses, FacesMessage.SEVERITY_ERROR, "No está autorizado a acceder a la página solicitada. Por favor, utilice el menú principal de la aplicación.", String.format("Se ha producido una expción de autorización, su usuario no está autorizado a acceder a la página: (%s).", reqURI));
+ SessionUtils.addMessage(ses, FacesMessage.SEVERITY_ERROR,
+ "No está autorizado a acceder a la página solicitada. Por favor, utilice el menú principal de la aplicación.",
+ String.format("Se ha producido una expción de autorización, su usuario no está autorizado a acceder a la página: (%s).", reqURI));
resp.sendRedirect(req.getContextPath() + "/error.xhtml?type=auth");
return;
}