Mercurial > dive4elements > river
changeset 4194:17fe00c09b7c
Don't redirect to request uri
If a url is requested which isn't the FLYS start page (FLYS.html) the user had
been redirected to this page after successfull authentication. This caused wrong
redirects after a authentication is expired and if the browser preloads e.g. the
CSS file. Therefore allow to set a redirect url in the web.xml config to always
redirect the user to the correct page after successfull authentication.
Fix for flys/issue970 (Zugangsfehler FLYS 2.9.3)
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 09:51:12 +0200 |
parents | f63b39799d2d |
children | 93b53eaee401 |
files | flys-client/src/main/java/de/intevation/flys/client/server/GGInAFilter.java flys-client/src/main/java/de/intevation/flys/client/server/LoginServlet.java flys-client/src/main/webapp/WEB-INF/web.xml |
diffstat | 3 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/GGInAFilter.java Mon Oct 22 09:02:26 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/GGInAFilter.java Mon Oct 22 09:51:12 2012 +0200 @@ -32,6 +32,7 @@ private boolean deactivate = false; private String authmethod; + private String redirecturl; private ServletContext sc; public static final String LOGIN_JSP = "/login.jsp"; @@ -52,6 +53,7 @@ this.sc = config.getServletContext(); logger.debug("GGInAFilter context " + this.sc.getContextPath()); this.authmethod = sc.getInitParameter("authentication"); + this.redirecturl = sc.getInitParameter("redirect-url"); if (deactivate != null && deactivate.equalsIgnoreCase("true")) { this.deactivate = true; } @@ -97,7 +99,8 @@ HttpSession session = sreq.getSession(); - String uri = requesturi; + String uri = "/" + this.redirecturl; + if (sreq.getQueryString() != null) { uri = uri + "?" + sreq.getQueryString(); }
--- a/flys-client/src/main/java/de/intevation/flys/client/server/LoginServlet.java Mon Oct 22 09:02:26 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/LoginServlet.java Mon Oct 22 09:51:12 2012 +0200 @@ -40,7 +40,9 @@ private void redirectSuccess(HttpServletResponse resp, String path, String uri) throws IOException { if (uri == null) { - uri = path + "/FLYS.html"; + String redirecturl = getServletContext().getInitParameter("redirect-url"); + + uri = "/" + redirecturl; } resp.sendRedirect(uri); }
--- a/flys-client/src/main/webapp/WEB-INF/web.xml Mon Oct 22 09:02:26 2012 +0200 +++ b/flys-client/src/main/webapp/WEB-INF/web.xml Mon Oct 22 09:51:12 2012 +0200 @@ -11,6 +11,12 @@ </context-param> <context-param> + <!-- URL to be redirected after successfull authentication --> + <param-name>redirect-url</param-name> + <param-value>FLYS.html</param-value> + </context-param> + + <context-param> <param-name>authentication</param-name> <param-value>GGInA</param-value> </context-param>