# HG changeset patch # User Björn Ricks # Date 1350892272 -7200 # Node ID 17fe00c09b7c40c429c40281c7689bac3389abf7 # Parent f63b39799d2d7032fe343074215f860977e15993 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) diff -r f63b39799d2d -r 17fe00c09b7c flys-client/src/main/java/de/intevation/flys/client/server/GGInAFilter.java --- 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(); } diff -r f63b39799d2d -r 17fe00c09b7c flys-client/src/main/java/de/intevation/flys/client/server/LoginServlet.java --- 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); } diff -r f63b39799d2d -r 17fe00c09b7c flys-client/src/main/webapp/WEB-INF/web.xml --- 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 @@ + + redirect-url + FLYS.html + + + authentication GGInA