[java-identity-provider COMMIT] in /trunk/idp-profile-spring/src: main/java/net/shibboleth/idp/profile/spring/relying...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Oct 21 14:32:34 EDT 2015
Author: putmanb
Date: Wed Oct 21 14:32:34 2015
New Revision: 7849
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7849&view=rev
Log:
IDP-671: Create Action(s) and supporting code to issue SAML 2 Assertions decorated for delegation
Switch Spring config parser to use a FactoryBean for handling the allowDelegation/allowDelegationPredicateRef
pair. This is necessary to allow config file property replacement to work properly.
Added:
trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/AllowDelegationPredicateFactoryBean.java (with props)
trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPropertyReplacement.xml (with props)
Modified:
trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java
trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java
trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/file.properties
trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPredicate.xml
Modified: trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java?rev=7849&r1=7848&r2=7849&view=diff
==============================================================================
--- trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java (original)
+++ trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java Wed Oct 21 14:32:34 2015
@@ -23,6 +23,7 @@
import javax.xml.namespace.QName;
import net.shibboleth.ext.spring.util.SpringSupport;
+import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.PredicateFilterDirectionFactoryBean;
import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -145,31 +146,17 @@
StringSupport.trimOrNull(element.getAttributeNS(null, "skipEndpointValidationWhenSigned")));
}
+ final BeanDefinitionBuilder allowDelegationPredicateBuilder =
+ BeanDefinitionBuilder.genericBeanDefinition(AllowDelegationPredicateFactoryBean.class);
if (element.hasAttributeNS(null, "allowDelegation")) {
- if (element.hasAttributeNS(null, "allowDelegationPredicateRef")) {
- log.warn("Attribute 'allowDelegation' is being ignored in favor of 'allowDelegationPredicateRef'");
- } else {
- Boolean value = AttributeSupport.getAttributeValueAsBoolean(
- element.getAttributeNodeNS(null, "allowDelegation"));
- if (value != null) {
- if (value) {
- builder.addPropertyValue("allowDelegation", Predicates.alwaysTrue());
- } else {
- builder.addPropertyValue("allowDelegation", Predicates.alwaysFalse());
- }
- } else {
- log.error("Attribute 'allowDelegation' is being ignored because it's not a legal xs:boolean value");
- throw new BeanDefinitionParsingException(new Problem(
- "Attribute 'allowDelegation' is being ignored because it's not a legal xs:boolean value",
- new Location(parserContext.getReaderContext().getResource())));
- }
- }
+ allowDelegationPredicateBuilder.addPropertyValue("allowDelegation",
+ element.getAttributeNS(null, "allowDelegation"));
}
-
if (element.hasAttributeNS(null, "allowDelegationPredicateRef")) {
- builder.addPropertyReference("allowDelegation",
- StringSupport.trimOrNull(element.getAttributeNS(null, "allowDelegationPredicateRef")));
+ allowDelegationPredicateBuilder.addPropertyReference("allowDelegationPredicate",
+ element.getAttributeNS(null, "allowDelegationPredicateRef"));
}
+ builder.addPropertyValue("allowDelegation", allowDelegationPredicateBuilder.getBeanDefinition());
setPropertiesFromRelyingParty(element, builder);
}
Modified: trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java
[... 69 lines stripped ...]
More information about the commits
mailing list