[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractName...

noreply at shibboleth.net noreply at shibboleth.net
Mon Mar 24 17:20:07 EDT 2014


Author: scantor
Date: Mon Mar 24 17:20:07 2014
New Revision: 3728

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3728&view=rev
Log:
Reworked design of NameIDPolicy checking to allow for more generic use in different places.

Added:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java   (with props)
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/NameIDPolicyPredicate.java   (with props)
Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AffiliationNameIDPolicyPredicate.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultNameIDPolicyPredicate.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjectsTest.java

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java?rev=3728&r1=3727&r2=3728&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java Mon Mar 24 17:20:07 2014
@@ -33,6 +33,7 @@
 
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
@@ -74,6 +75,9 @@
  * plugins injected into the action. The plugin(s) to attempt to use are derived from the Format value,
  * which is established by a lookup strategy.</p>
  * 
+ * <p>In addition, the generation process is influenced by the requested {@link NameIDPolicy}, which
+ * is evaluated using a pluggable predicate.</p>
+ * 
  * @event {@link EventIds#PROCEED_EVENT_ID}
  * @event {@link EventIds#INVALID_MSG_CTX}
  * @event {@link SAMLEventIds#INVALID_NAMEID_POLICY}
@@ -122,8 +126,11 @@
     /** Response to modify. */
     @Nullable private Response response;
     
-    /** Constructor. */
-    public AddNameIDToSubjects() {
+    /** Constructor.
+     *  
+     * @throws ComponentInitializationException if an error occurs initializing default predicate.
+     */
+    public AddNameIDToSubjects() throws ComponentInitializationException {
         subjectBuilder = (SAMLObjectBuilder<Subject>)
                 XMLObjectProviderRegistrySupport.getBuilderFactory().<Subject>getBuilderOrThrow(
                         Subject.DEFAULT_ELEMENT_NAME);
@@ -138,7 +145,11 @@
         responseLookupStrategy =
                 Functions.compose(new MessageLookup<>(Response.class), new OutboundMessageContextLookup());
         
+        // Default predicate pulls SPNameQualifier from NameIDPolicy and does a direct match
+        // against issuer. Handles simple cases, overridden for complex ones.
         nameIDPolicyPredicate = new DefaultNameIDPolicyPredicate();
+        ((DefaultNameIDPolicyPredicate) nameIDPolicyPredicate).initialize();
+        
         formatLookupStrategy = new MetadataNameIdentifierFormatStrategy();
         nameIdGeneratorMap = ArrayListMultimap.create();
         formats = Collections.emptyList();

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AffiliationNameIDPolicyPredicate.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AffiliationNameIDPolicyPredicate.java?rev=3728&r1=3727&r2=3728&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AffiliationNameIDPolicyPredicate.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AffiliationNameIDPolicyPredicate.java Mon Mar 24 17:20:07 2014
@@ -18,9 +18,9 @@
 package org.opensaml.saml.saml2.profile.impl;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -76,34 +76,39 @@
 
     /** {@inheritDoc} */
     @Override

[... 198 lines stripped ...]


More information about the commits mailing list