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();
         }

http://dive4elements.wald.intevation.org