[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