[java-identity-provider COMMIT] in /trunk: idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/fil...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Jul 21 11:38:17 EDT 2014
Author: rdw
Date: Mon Jul 21 11:38:17 2014
New Revision: 6319
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6319&view=rev
Log:
IDP-306 Allow 'permitAny="true"' to be added to an attribute rule.
Added:
trunk/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/Implicit.java (with props)
trunk/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/implicit.xml (with props)
Modified:
trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/AttributeRuleParser.java
trunk/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java
trunk/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
Modified: trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/AttributeRuleParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/AttributeRuleParser.java?rev=6319&r1=6318&r2=6319&view=diff
==============================================================================
--- trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/AttributeRuleParser.java (original)
+++ trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/AttributeRuleParser.java Mon Jul 21 11:38:17 2014
@@ -25,7 +25,9 @@
import net.shibboleth.ext.spring.util.SpringSupport;
import net.shibboleth.idp.attribute.filter.AttributeRule;
+import net.shibboleth.idp.attribute.filter.Matcher;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.xml.AttributeSupport;
import net.shibboleth.utilities.java.support.xml.ElementSupport;
import org.slf4j.Logger;
@@ -64,17 +66,20 @@
public static final QName DENY_VALUE_REF = new QName(AttributeFilterNamespaceHandler.NAMESPACE,
"DenyValueRuleReference");
+ /** permitAny Attribute. */
+ public static final String PERMIT_ANY_ATTRIBUTE = "permitAny";
+
/** Class logger. */
private final Logger log = LoggerFactory.getLogger(AttributeRuleParser.class);
/** {@inheritDoc} */
- @Nonnull protected Class<?> getBeanClass(@Nullable Element arg) {
+ @Override @Nonnull protected Class<?> getBeanClass(@Nullable Element arg) {
return AttributeRule.class;
}
/** {@inheritDoc} */
// Checkstyle: CyclomaticComplexity OFF
- protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(config, parserContext, builder);
@@ -131,7 +136,14 @@
log.debug("Adding DenyValueRule reference to {}", reference);
builder.addPropertyValue("matcher", new RuntimeBeanReference(reference));
builder.addPropertyValue("isDenyRule", true);
+ } else if (config.hasAttributeNS(null, PERMIT_ANY_ATTRIBUTE)
+ && AttributeSupport.getAttributeValueAsBoolean(config.getAttributeNodeNS(null, PERMIT_ANY_ATTRIBUTE))) {
+ builder.addPropertyValue("isDenyRule", false);
+ builder.addPropertyValue("matcher", Matcher.MATCHES_ALL);
+ } else {
+ log.warn("Attribute rule must have one of PermitValueRule, "
+ + "DenyValueRule or have attribute permitAny=\"true\"");
}
}
// Checkstyle: CyclomaticComplexity ON
Modified: trunk/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java?rev=6319&r1=6318&r2=6319&view=diff
==============================================================================
--- trunk/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java (original)
+++ trunk/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java Mon Jul 21 11:38:17 2014
@@ -19,9 +19,6 @@
import java.util.List;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
import net.shibboleth.idp.attribute.filter.Matcher;
import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
import net.shibboleth.idp.attribute.filter.matcher.logic.impl.NotMatcher;
@@ -31,6 +28,9 @@
import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
/**
* test for {@link OrMatcherParser}.
*/
@@ -38,21 +38,21 @@
@Test public void matcher() throws ComponentInitializationException {
[... 47 lines stripped ...]
More information about the commits
mailing list