浏览代码

Relax restriction on empty Strings for proxy callback URL, as this should be an empty String if no proxy callback was requested during service ticket validation.

Ben Alex 21 年之前
父节点
当前提交
2cb3703253
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      core/src/main/java/org/acegisecurity/providers/cas/CasAuthenticationToken.java

+ 9 - 3
core/src/main/java/org/acegisecurity/providers/cas/CasAuthenticationToken.java

@@ -55,7 +55,8 @@ public class CasAuthenticationToken extends AbstractAuthenticationToken
      * @param proxyList the list of proxies from CAS (cannot be
      *        <code>null</code>)
      * @param proxyGrantingTicketIou the PGT-IOU ID from CAS (cannot be
-     *        <code>null</code>)
+     *        <code>null</code>, but may be an empty <code>String</code> if no
+     *        PGT-IOU ID was provided)
      *
      * @throws IllegalArgumentException if a <code>null</code> was passed
      */
@@ -65,8 +66,7 @@ public class CasAuthenticationToken extends AbstractAuthenticationToken
         if ((key == null) || ("".equals(key)) || (principal == null)
             || "".equals(principal) || (credentials == null)
             || "".equals(credentials) || (authorities == null)
-            || (proxyList == null) || (proxyGrantingTicketIou == null)
-            || ("".equals(proxyGrantingTicketIou))) {
+            || (proxyList == null) || (proxyGrantingTicketIou == null)) {
             throw new IllegalArgumentException(
                 "Cannot pass null or empty values to constructor");
         }
@@ -127,6 +127,12 @@ public class CasAuthenticationToken extends AbstractAuthenticationToken
         return this.principal;
     }
 
+    /**
+     * Obtains the proxy granting ticket IOU.
+     *
+     * @return the PGT IOU-ID or an empty <code>String</code> if no proxy
+     *         callback was requested when validating the service ticket
+     */
     public String getProxyGrantingTicketIou() {
         return proxyGrantingTicketIou;
     }