[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