Author: fmeschbe
Date: Mon Sep 20 08:52:50 2010
New Revision: 998830
URL: http://svn.apache.org/viewvc?rev=998830&view=rev
Log:
SLING-1785 Use new redirect helper method of tha AbstractAuthenticationHandler
Modified:
sling/trunk/bundles/auth/form/src/main/java/org/apache/sling/auth/form/impl/FormAuthenticationHandler.java
sling/trunk/bundles/auth/selector/src/main/java/org/apache/sling/auth/selector/SelectorAuthenticationHandler.java
Modified:
sling/trunk/bundles/auth/form/src/main/java/org/apache/sling/auth/form/impl/FormAuthenticationHandler.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/auth/form/src/main/java/org/apache/sling/auth/form/impl/FormAuthenticationHandler.java?rev=998830&r1=998829&r2=998830&view=diff
==============================================================================
---
sling/trunk/bundles/auth/form/src/main/java/org/apache/sling/auth/form/impl/FormAuthenticationHandler.java
(original)
+++
sling/trunk/bundles/auth/form/src/main/java/org/apache/sling/auth/form/impl/FormAuthenticationHandler.java
Mon Sep 20 08:52:50 2010
@@ -21,10 +21,11 @@ package org.apache.sling.auth.form.impl;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Dictionary;
+import java.util.HashMap;
+
import javax.jcr.Credentials;
import javax.jcr.SimpleCredentials;
import javax.servlet.Servlet;
@@ -396,38 +397,23 @@ public class FormAuthenticationHandler e
}
}
- // prepare the login form redirection target
- final StringBuilder targetBuilder = new StringBuilder();
- targetBuilder.append(request.getContextPath());
- targetBuilder.append(loginForm);
-
- // append originally requested resource (for redirect after login)
- char parSep = '?';
-
- if (resource != null) {
- targetBuilder.append(parSep).append(Authenticator.LOGIN_RESOURCE);
- targetBuilder.append("=").append(
- URLEncoder.encode(resource, "UTF-8"));
- parSep = '&';
- }
+ HashMap<String, String> params = new HashMap<String, String>();
+ params.put(Authenticator.LOGIN_RESOURCE, resource);
// append indication of previous login failure
if (request.getAttribute(FAILURE_REASON) != null) {
final Object jReason = request.getAttribute(FAILURE_REASON);
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
final String reason = (jReason instanceof Enum)
? ((Enum) jReason).name()
: jReason.toString();
- targetBuilder.append(parSep).append(FAILURE_REASON);
- targetBuilder.append("=").append(URLEncoder.encode(reason,
"UTF-8"));
+ params.put(FAILURE_REASON, reason);
}
- // finally redirect to the login form
- final String target = targetBuilder.toString();
try {
- response.sendRedirect(target);
+ sendRedirect(request, response, loginForm, params);
} catch (IOException e) {
- log.error("Failed to redirect to the page: " + target, e);
+ log.error("Failed to redirect to the login form " + loginForm, e);
}
return true;
Modified:
sling/trunk/bundles/auth/selector/src/main/java/org/apache/sling/auth/selector/SelectorAuthenticationHandler.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/auth/selector/src/main/java/org/apache/sling/auth/selector/SelectorAuthenticationHandler.java?rev=998830&r1=998829&r2=998830&view=diff
==============================================================================
---
sling/trunk/bundles/auth/selector/src/main/java/org/apache/sling/auth/selector/SelectorAuthenticationHandler.java
(original)
+++
sling/trunk/bundles/auth/selector/src/main/java/org/apache/sling/auth/selector/SelectorAuthenticationHandler.java
Mon Sep 20 08:52:50 2010
@@ -19,7 +19,7 @@
package org.apache.sling.auth.selector;
import java.io.IOException;
-import java.net.URLEncoder;
+import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@@ -85,18 +85,11 @@ public class SelectorAuthenticationHandl
}
public boolean requestCredentials(HttpServletRequest request,
- HttpServletResponse response) throws IOException {
+ HttpServletResponse response) {
- // prepare the login form redirection target
- final StringBuilder targetBuilder = new StringBuilder();
- targetBuilder.append(request.getContextPath());
- targetBuilder.append(loginForm);
-
- targetBuilder.append('?').append(Authenticator.LOGIN_RESOURCE);
- targetBuilder.append("=").append(
- URLEncoder.encode(
- setLoginResourceAttribute(request, request.getRequestURI()),
- "UTF-8"));
+ HashMap<String, String> params = new HashMap<String, String>();
+ params.put(Authenticator.LOGIN_RESOURCE,
+ getLoginResource(request, null));
// append indication of previous login failure
if (request.getAttribute(FAILURE_REASON) != null) {
@@ -105,23 +98,18 @@ public class SelectorAuthenticationHandl
final String reason = (jReason instanceof Enum)
? ((Enum) jReason).name()
: jReason.toString();
- targetBuilder.append('&').append(FAILURE_REASON);
- targetBuilder.append("=").append(URLEncoder.encode(reason,
"UTF-8"));
+ params.put(FAILURE_REASON, reason);
}
// append selected authentication type of previous request
if (request.getParameter(PAR_SELECTED_AUTH_TYPE) != null) {
- targetBuilder.append('&').append(PAR_SELECTED_AUTH_TYPE);
- targetBuilder.append("=").append(
- request.getParameter(PAR_SELECTED_AUTH_TYPE));
+ params.put(PAR_SELECTED_AUTH_TYPE,
request.getParameter(PAR_SELECTED_AUTH_TYPE));
}
- // finally redirect to the login form
- final String target = targetBuilder.toString();
try {
- response.sendRedirect(target);
+ sendRedirect(request, response, loginForm, params);
} catch (IOException e) {
- log.error("Failed to redirect to the page: " + target, e);
+ log.error("Failed to redirect to the login form " + loginForm, e);
}
return true;