Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/server/filter/GGInAFilter.java @ 8856:5e38e2924c07 3.2.x
Fix code style.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 18 Jan 2018 20:12:01 +0100 |
parents | b1580e4d342a |
children | 0a5239a1e46e |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5952
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5952
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.server.filter; |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
11 import org.dive4elements.river.client.server.auth.Authentication; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
12 import org.dive4elements.river.client.server.auth.AuthenticationException; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
13 import org.dive4elements.river.client.server.auth.AuthenticationFactory; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
14 import org.dive4elements.river.client.server.auth.User; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
15 import org.dive4elements.river.client.server.features.Features; |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 import java.io.IOException; |
4549
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
18 import java.net.InetAddress; |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
19 import java.net.UnknownHostException; |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 import java.util.Enumeration; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 import javax.servlet.Filter; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 import javax.servlet.FilterChain; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 import javax.servlet.FilterConfig; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
25 import javax.servlet.ServletContext; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
26 import javax.servlet.ServletException; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
27 import javax.servlet.ServletRequest; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
28 import javax.servlet.ServletResponse; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
29 import javax.servlet.http.HttpServletRequest; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
30 import javax.servlet.http.HttpServletResponse; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
31 import javax.servlet.http.HttpSession; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
32 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
33 import org.apache.log4j.Logger; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 /** ServletFilter used for GGInA authentification and certain authorisation. */ |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 public class GGInAFilter implements Filter { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
39 /** Private log. */ |
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
40 private static Logger log = Logger.getLogger(GGInAFilter.class); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 private boolean deactivate = false; |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
43 private boolean loginDisabled = false; |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 private String authmethod; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 private String redirecturl; |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
46 private String noAuthRedir; |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 private ServletContext sc; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 |
4549
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
49 private static final String LOGIN_JSP = "/login.jsp"; |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
50 private static final String LOGIN_SERVLET = "/flys/login"; |
5952
42b8447fa7ef
Treat SAML URL as login URL in GGInAFilter.
Bernhard Herzog <bh@intevation.de>
parents:
5933
diff
changeset
|
51 private static final String SAML_SERVLET = "/flys/saml"; |
4549
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
52 private static final String FLYS_CSS = "/FLYS.css"; |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
53 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
54 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
55 /** |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 * Initialize. |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
57 * |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
58 * Read FilterConfig parameter deactivate |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
59 */ |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
60 @Override |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
61 public void init(FilterConfig config) |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
62 throws ServletException |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
63 { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 String deactivate = config.getInitParameter("deactivate"); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
65 this.sc = config.getServletContext(); |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
66 log.debug("GGInAFilter context " + this.sc.getContextPath()); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 this.authmethod = sc.getInitParameter("authentication"); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 this.redirecturl = sc.getInitParameter("redirect-url"); |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
69 |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
70 noAuthRedir = sc.getInitParameter("unauth-redirect-url"); |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
71 if (noAuthRedir == null) { |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
72 noAuthRedir = LOGIN_JSP; |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
73 } |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
74 |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
75 String disableLogin = sc.getInitParameter("disable-login"); |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
76 if (disableLogin != null && disableLogin.equalsIgnoreCase("true")) { |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
77 loginDisabled = true; |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
78 } |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
79 |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 if (deactivate != null && deactivate.equalsIgnoreCase("true")) { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 this.deactivate = true; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
83 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 /** |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 * Called when filter in chain invoked. |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 * @param req request to servlet |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 * @param resp response of servlet |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 * @param chain the filter chain |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 */ |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 @Override |
8856 | 94 public void doFilter( |
95 ServletRequest req, | |
96 ServletResponse resp, | |
97 FilterChain chain | |
98 ) | |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 throws IOException, ServletException |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 if (this.deactivate) { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
102 log.debug("GGinAFilter is deactivated"); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 chain.doFilter(req, resp); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 return; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
107 HttpServletRequest sreq = (HttpServletRequest) req; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 String requesturi = sreq.getRequestURI(); |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
110 if (log.isDebugEnabled()) { |
8856 | 111 for (Enumeration e = req.getAttributeNames(); |
112 e.hasMoreElements(); | |
113 ) { | |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
114 log.debug(e.nextElement()); |
4651
83a42e6a562d
Added view for selecting ranges in wsts.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4549
diff
changeset
|
115 } |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
118 log.debug("Request for: " + requesturi); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 |
4965
8af500d62098
Editing Map print config.
Christian Lins <christian.lins@intevation.de>
parents:
4651
diff
changeset
|
120 // Allow access to localhost |
6894
389bf6b7d371
Backed out changeset 60f39ee19473
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6893
diff
changeset
|
121 if (isLocalAddress(req)) { |
6978
3bff11208d3d
Fix for Browser and server running both on localhost. Previously all requests from localhost where accepted w/o auth. Now they are only accepted when a HTTP header X_NO_GGINA_AUTH=TRUE is send, too. This is ddone when printing maps.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6894
diff
changeset
|
122 String noAuth = sreq.getHeader("X_NO_GGINA_AUTH"); |
3bff11208d3d
Fix for Browser and server running both on localhost. Previously all requests from localhost where accepted w/o auth. Now they are only accepted when a HTTP header X_NO_GGINA_AUTH=TRUE is send, too. This is ddone when printing maps.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6894
diff
changeset
|
123 if (noAuth != null && noAuth.equals("TRUE")) { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
124 log.debug("Request to localhost"); |
6978
3bff11208d3d
Fix for Browser and server running both on localhost. Previously all requests from localhost where accepted w/o auth. Now they are only accepted when a HTTP header X_NO_GGINA_AUTH=TRUE is send, too. This is ddone when printing maps.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6894
diff
changeset
|
125 chain.doFilter(req, resp); |
3bff11208d3d
Fix for Browser and server running both on localhost. Previously all requests from localhost where accepted w/o auth. Now they are only accepted when a HTTP header X_NO_GGINA_AUTH=TRUE is send, too. This is ddone when printing maps.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6894
diff
changeset
|
126 return; |
3bff11208d3d
Fix for Browser and server running both on localhost. Previously all requests from localhost where accepted w/o auth. Now they are only accepted when a HTTP header X_NO_GGINA_AUTH=TRUE is send, too. This is ddone when printing maps.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6894
diff
changeset
|
127 } |
6894
389bf6b7d371
Backed out changeset 60f39ee19473
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6893
diff
changeset
|
128 } |
4549
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
129 |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
130 // Allow access to login pages |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
131 String path = this.sc.getContextPath(); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
132 if (requesturi.equals(path + LOGIN_JSP) |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
133 || requesturi.equals(path + LOGIN_SERVLET) |
5952
42b8447fa7ef
Treat SAML URL as login URL in GGInAFilter.
Bernhard Herzog <bh@intevation.de>
parents:
5933
diff
changeset
|
134 || requesturi.equals(path + SAML_SERVLET) |
4549
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
135 || requesturi.equals(path + FLYS_CSS)) { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
136 log.debug("Request for login " + requesturi); |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
137 if (loginDisabled && requesturi.equals(path + LOGIN_JSP)) { |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
138 log.debug("Login disabled. Redirecting."); |
8856 | 139 if (noAuthRedir.equals(LOGIN_JSP) |
140 || noAuthRedir.equals(path + LOGIN_JSP) | |
141 ) { | |
142 handleResponse(resp, false); | |
143 /* Dont redirect to the same page */ | |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
144 } else { |
8856 | 145 handleResponse(resp, true); |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
146 } |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
147 return; |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
148 } |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
149 chain.doFilter(req, resp); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
150 return; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
151 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
152 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
153 boolean redirect = false; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
154 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 HttpSession session = sreq.getSession(); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 String uri = path + "/" + this.redirecturl; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
158 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
159 /* Redirect if uri is root or redirecturl */ |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
160 if (requesturi.equals(uri) || requesturi.equals(path + "/")) { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
161 redirect = true; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
162 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
163 |
4651
83a42e6a562d
Added view for selecting ranges in wsts.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4549
diff
changeset
|
164 String queryString = sreq.getQueryString(); |
83a42e6a562d
Added view for selecting ranges in wsts.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4549
diff
changeset
|
165 |
83a42e6a562d
Added view for selecting ranges in wsts.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4549
diff
changeset
|
166 if (queryString != null) { |
83a42e6a562d
Added view for selecting ranges in wsts.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4549
diff
changeset
|
167 uri += "?" + queryString; |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
168 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 session.setAttribute("requesturi", uri); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
171 User user = (User)session.getAttribute("user"); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
172 if (user == null) { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
173 log.debug("No user in session: " + requesturi); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
174 this.handleResponse(resp, redirect); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
175 return; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
177 if (user.hasExpired()) { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
178 // try to re-authenticate the user |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
179 log.debug("User ticket has expired: " + requesturi); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 String encoding = sreq.getCharacterEncoding(); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
181 try { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
182 Authentication auth = this.auth(user, encoding); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
183 if (auth == null || !auth.isSuccess()) { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
184 log.debug("Re-athentication not successful"); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
185 this.handleResponse(resp, redirect); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
186 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
187 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
188 catch(AuthenticationException e) { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
189 log.error("Failure during re-authentication", e); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
190 this.handleResponse(resp, redirect); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
191 return; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
192 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
193 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
194 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
195 chain.doFilter(req, resp); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
196 return; |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
197 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
198 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
199 private void redirect(ServletResponse resp) throws IOException { |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
200 if (noAuthRedir.startsWith("http")) { |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
201 log.debug("Redirect to external page: " + noAuthRedir); |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
202 ((HttpServletResponse) resp).sendRedirect(noAuthRedir); |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
203 } else { |
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
204 log.debug("Redirect to: " + noAuthRedir); |
8856 | 205 ((HttpServletResponse) resp).sendRedirect( |
206 this.sc.getContextPath() + noAuthRedir); | |
8505
b1580e4d342a
(issue1777) Add options to change login redirect and disable login
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8203
diff
changeset
|
207 } |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
208 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
209 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 private void sendNotAuthenticated(ServletResponse resp) throws IOException { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
211 log.debug("Send not authenticated"); |
8856 | 212 ((HttpServletResponse)resp).sendError( |
213 HttpServletResponse.SC_FORBIDDEN, "User not authenticated"); | |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
214 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
215 |
8856 | 216 private void handleResponse( |
217 ServletResponse resp, | |
218 boolean redirect | |
219 ) throws IOException { | |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
220 if (redirect) { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
221 this.redirect(resp); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 else { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 this.sendNotAuthenticated(resp); |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 /** |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
230 * Do nothing at destruction. |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
231 */ |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
232 @Override |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
233 public void destroy() { |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
234 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 private Authentication auth(User user, String encoding) |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
237 throws AuthenticationException, IOException { |
8856 | 238 Features features = (Features)sc.getAttribute( |
239 Features.CONTEXT_ATTRIBUTE); | |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
240 return AuthenticationFactory.getInstance(this.authmethod).auth( |
5933
1b939742629e
Pass LoginServlet's ServletContext to the Authenticators.
Bernhard Herzog <bh@intevation.de>
parents:
5861
diff
changeset
|
241 user.getName(), user.getPassword(), encoding, features, sc); |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
242 } |
4549
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
243 |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
244 /** |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
245 * Returns true if the request is from our machine |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
246 * @param req The ServletRequest |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
247 * @return true if the request is from a loopback interface or from one of |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
248 * the interface addresses of the machine |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
249 */ |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
250 private boolean isLocalAddress(ServletRequest req) { |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
251 try { |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
252 InetAddress addr = InetAddress.getByName(req.getRemoteAddr()); |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
253 return addr.isAnyLocalAddress() || addr.isLoopbackAddress(); |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
254 } catch (UnknownHostException e) { |
8203
238fc722f87a
sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6978
diff
changeset
|
255 log.error(e, e); |
4549
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
256 return false; |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
257 } |
9a2432485371
Allow requests from localhost in GGInA filter
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4436
diff
changeset
|
258 } |
4436
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
259 } |
9fca4d60fb7c
Reintroduce wrongly outbacked changes (rev 4418-4425).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
260 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |