diff options
author | kstranacher <kstranacher@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2011-08-12 08:31:57 +0000 |
---|---|---|
committer | kstranacher <kstranacher@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2011-08-12 08:31:57 +0000 |
commit | 304fa9d89f139bf53abac057de9ca6586f357072 (patch) | |
tree | 7fb02c4b7cd6c04d8b0b60ce9e550c28902ce1dc /id/server/idserverlib/src/main/java/at/gv | |
parent | abe2192ea697ccc133f1fededa3a8ee1528ec7c8 (diff) | |
download | moa-id-spss-304fa9d89f139bf53abac057de9ca6586f357072.tar.gz moa-id-spss-304fa9d89f139bf53abac057de9ca6586f357072.tar.bz2 moa-id-spss-304fa9d89f139bf53abac057de9ca6586f357072.zip |
Update ProxyServlet.java (ELAK)
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1212 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv')
-rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/servlet/ProxyServlet.java | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/servlet/ProxyServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/servlet/ProxyServlet.java index d4edc4298..d7e8ae686 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/servlet/ProxyServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/servlet/ProxyServlet.java @@ -648,15 +648,31 @@ private int tunnelRequest(HttpServletRequest req, HttpServletResponse resp, Map String loginType = (String) req.getSession().getAttribute(ATT_OA_LOGINTYPE); while ((headerKey = conn.getHeaderFieldKey(i)) != null) { String headerValue = conn.getHeaderField(i); - // Überschrift im Browser-Passworteingabedialog setzen (sonst ist der reale host eingetragen) - if (headerKey.equalsIgnoreCase("WWW-Authenticate") && headerValue.startsWith("Basic realm=\"")) { - headerValue = "Basic realm=\"" + publicURLPrefix + "\""; - if (OAConfiguration.BINDUNG_USERNAME.equals(originBinding) || OAConfiguration.BINDUNG_NOMATCH.equals(originBinding)) { - headerValue = "Basic realm=\"Bitte Passwort eingeben\""; - } else if (OAConfiguration.BINDUNG_NONE.equals(originBinding)) { - headerValue = "Basic realm=\"Bitte Benutzername und Passwort eingeben\""; - } - } + + if (headerKey.equalsIgnoreCase("WWW-Authenticate")) { + int start = headerValue.indexOf("Basic realm=\""); + boolean requestsBasicAuth = headerValue.substring(start).startsWith("Basic realm=\""); + if (requestsBasicAuth) { + headerValue = "Basic realm=\"" + publicURLPrefix + "\""; + + if ( OAConfiguration.BINDUNG_USERNAME.equals(originBinding) || OAConfiguration.BINDUNG_NOMATCH.equals(originBinding)) + headerValue = "Basic realm=\"Bitte Passwort eingeben\""; + else if ("none".equals(originBinding)) { + headerValue = "Basic realm=\"Bitte Benutzername und Passwort eingeben\""; + } + } + } + +// // Überschrift im Browser-Passworteingabedialog setzen (sonst ist der reale host eingetragen) +// if (headerKey.equalsIgnoreCase("WWW-Authenticate") && headerValue.startsWith("Basic realm=\"")) { +// headerValue = "Basic realm=\"" + publicURLPrefix + "\""; +// if (OAConfiguration.BINDUNG_USERNAME.equals(originBinding) || OAConfiguration.BINDUNG_NOMATCH.equals(originBinding)) { +// headerValue = "Basic realm=\"Bitte Passwort eingeben\""; +// } else if (OAConfiguration.BINDUNG_NONE.equals(originBinding)) { +// headerValue = "Basic realm=\"Bitte Benutzername und Passwort eingeben\""; +// } +// } + String respHeader[] = new String[2]; if ((conn.getResponseCode()==HttpURLConnection.HTTP_UNAUTHORIZED) && headerKey.equalsIgnoreCase("content-length")) { //alter the unauthorized message with template for login |