[java-identity-provider] branch master updated: Default to skipping AffiliationDescriptor checking, option to enable.
Scott Cantor
cantor.2 at osu.edu
Fri Sep 28 14:28:14 EDT 2018
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=9474a6cca8d994d40501150d75aef080c06e4307
The following commit(s) were added to refs/heads/master by this push:
new 9474a6c Default to skipping AffiliationDescriptor checking, option to enable.
9474a6c is described below
commit 9474a6cca8d994d40501150d75aef080c06e4307
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Sep 28 14:28:08 2018 -0400
Default to skipping AffiliationDescriptor checking, option to enable.
---
.../AttributeRequesterInEntityGroupPolicyRule.java | 20 +++++++++++++++++++-
.../AttributeRequesterInEntityGroupRuleParser.java | 4 ++++
.../src/main/resources/schema/shibboleth-afp.xsd | 9 +++++++++
3 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java
index ccb83e0..d5c6d18 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java
@@ -48,6 +48,9 @@ public class AttributeRequesterInEntityGroupPolicyRule extends AbstractPolicyRul
/** The entity group to match against. */
@Nullable private String entityGroup;
+ /** Whether to search metadata for AffiliationDescriptor membership. */
+ private boolean checkAffiliations;
+
/**
* Gets the entity group to match against.
*
@@ -65,6 +68,20 @@ public class AttributeRequesterInEntityGroupPolicyRule extends AbstractPolicyRul
public void setEntityGroup(@Nullable final String group) {
entityGroup = StringSupport.trimOrNull(group);
}
+
+ /**
+ * Set whether to check a supplied {@link MetadataResolver} for membership in an AffiliationDescriptor
+ * as a form of group policy.
+ *
+ * <p>Defaults to false.</p>
+ *
+ * @param flag flag to set
+ *
+ * @since 3.4.0
+ */
+ public void setCheckAffiliations(final boolean flag) {
+ checkAffiliations = flag;
+ }
/**
* Gets the entity descriptor for the entity to check.
@@ -103,7 +120,8 @@ public class AttributeRequesterInEntityGroupPolicyRule extends AbstractPolicyRul
}
final Predicate<EntityDescriptor> predicate =
- new EntityGroupNamePredicate(Collections.singleton(entityGroup), input.getMetadataResolver());
+ new EntityGroupNamePredicate(Collections.singleton(entityGroup),
+ checkAffiliations ? input.getMetadataResolver() : null);
final EntityDescriptor entity = getEntityMetadata(input);
return predicate.apply(entity) ? Tristate.TRUE : Tristate.FALSE;
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
index 03e981b..69b4cf8 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
@@ -59,5 +59,9 @@ public class AttributeRequesterInEntityGroupRuleParser extends BasePolicyRulePar
@Nonnull final BeanDefinitionBuilder builder) {
builder.addPropertyValue("entityGroup", StringSupport.trimOrNull(element.getAttributeNS(null, "groupID")));
+ if (element.hasAttributeNS(null, "checkAffiliations")) {
+ builder.addPropertyValue("checkAffiliations",
+ StringSupport.trimOrNull(element.getAttributeNS(null, "checkAffiliations")));
+ }
}
}
diff --git a/idp-schema/src/main/resources/schema/shibboleth-afp.xsd b/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
index c72f03e..fa63c9d 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
@@ -720,6 +720,15 @@
<documentation>The entity group ID that an entity must be in.</documentation>
</annotation>
</attribute>
+ <attribute name="checkAffiliations" type="string">
+ <annotation>
+ <documentation>
+ Whether to check for membership in metadata-based AffiliationDescriptors.
+
+ Defaults to false.
+ </documentation>
+ </annotation>
+ </attribute>
</extension>
</complexContent>
</complexType>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list