Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/server/GGInAFilter.java @ 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 | a4c9296f6efa |
children | 93b53eaee401 |
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(); }