You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/09/10 15:48:36 UTC
svn commit: r1623999 - in
/sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core:
AuthConstants.java AuthUtil.java package-info.java
Author: cziegeler
Date: Wed Sep 10 13:48:36 2014
New Revision: 1623999
URL: http://svn.apache.org/r1623999
Log:
SLING-3922 : Login Failure Reason Code Not Propagated In AuthUtil#sendInvalid. Apply patch from Dominique Jäggi
Modified:
sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java
sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java
sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java
Modified: sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java?rev=1623999&r1=1623998&r2=1623999&view=diff
==============================================================================
--- sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java (original)
+++ sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java Wed Sep 10 13:48:36 2014
@@ -55,6 +55,18 @@ public final class AuthConstants {
public static final String X_REASON = "X-Reason";
/**
+ * The name of the request header set by the
+ * {@link #sendInvalid(HttpServletRequest, HttpServletResponse)} method if the provided
+ * credentials cannot be used for login.
+ * <p>
+ * This header may be inspected by clients for a a detailed reason code why the request
+ * failed.
+ *
+ * @see #sendInvalid(HttpServletRequest, HttpServletResponse)
+ */
+ public static final String X_REASON_CODE = "X-Reason-Code";
+
+ /**
* Service Registration property which may be set by an
* {@link org.apache.sling.auth.core.spi.AuthenticationHandler} service to
* indicate whether its
Modified: sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java?rev=1623999&r1=1623998&r2=1623999&view=diff
==============================================================================
--- sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java (original)
+++ sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java Wed Sep 10 13:48:36 2014
@@ -370,8 +370,12 @@ public final class AuthUtil {
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
Object reason = request.getAttribute(AuthenticationHandler.FAILURE_REASON);
+ Object reasonCode = request.getAttribute(AuthenticationHandler.FAILURE_REASON_CODE);
if (reason != null) {
response.setHeader(AuthConstants.X_REASON, reason.toString());
+ if ( reasonCode != null ) {
+ response.setHeader(AuthConstants.X_REASON_CODE, reasonCode.toString());
+ }
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().println(reason);
Modified: sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java?rev=1623999&r1=1623998&r2=1623999&view=diff
==============================================================================
--- sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java (original)
+++ sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java Wed Sep 10 13:48:36 2014
@@ -22,9 +22,9 @@
* of utility functions in the {@link org.apache.sling.auth.core.AuthUtil}
* class.
*
- * @version 1.1
+ * @version 1.2
*/
-@Version("1.1")
+@Version("1.2")
@Export(optional = "provide:=true")
package org.apache.sling.auth.core;