Forgot to actually create an instance of the security policy selector
authorlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Wed, 31 Oct 2007 06:32:28 +0000 (06:32 +0000)
committerlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Wed, 31 Oct 2007 06:32:28 +0000 (06:32 +0000)
git-svn-id: https://subversion.switch.ch/svn/shibboleth/java-idp/trunk@2438 ab3bd59b-922f-494d-bb5f-6f0a3c29deca

src/edu/internet2/middleware/shibboleth/idp/profile/AbstractSAMLProfileHandler.java

index 20fe0d7..1414702 100644 (file)
@@ -27,6 +27,7 @@ import org.opensaml.common.binding.encoding.SAMLMessageEncoder;
 import org.opensaml.saml2.metadata.Endpoint;
 import org.opensaml.saml2.metadata.provider.MetadataProvider;
 import org.opensaml.ws.message.encoder.MessageEncodingException;
+import org.opensaml.ws.security.SecurityPolicyResolver;
 import org.opensaml.ws.transport.InTransport;
 import org.opensaml.ws.transport.http.HttpServletRequestAdapter;
 import org.slf4j.Logger;
@@ -36,6 +37,7 @@ import edu.internet2.middleware.shibboleth.common.log.AuditLogEntry;
 import edu.internet2.middleware.shibboleth.common.profile.ProfileException;
 import edu.internet2.middleware.shibboleth.common.profile.provider.AbstractShibbolethProfileHandler;
 import edu.internet2.middleware.shibboleth.common.profile.provider.BaseSAMLProfileRequestContext;
+import edu.internet2.middleware.shibboleth.common.relyingparty.RelyingPartySecurityPolicyResolver;
 import edu.internet2.middleware.shibboleth.common.relyingparty.provider.SAMLMDRelyingPartyConfigurationManager;
 import edu.internet2.middleware.shibboleth.idp.session.Session;
 
@@ -65,11 +67,37 @@ public abstract class AbstractSAMLProfileHandler extends
 
     /** SAML message bindings that may be used by outbound messages. */
     private List<String> supportedOutboundBindings;
+    
+    /** Resolver used to determine active security policy for an incoming request. */
+    private SecurityPolicyResolver securityPolicyResolver;
 
     /** Constructor. */
     protected AbstractSAMLProfileHandler() {
         super();
     }
+    
+    
+    /**
+     * Gets the resolver used to determine active security policy for an incoming request.
+     * 
+     * @return resolver used to determine active security policy for an incoming request
+     */
+    public SecurityPolicyResolver getSecurityPolicyResolver() {
+        if(securityPolicyResolver == null){
+            setSecurityPolicyResolver(new RelyingPartySecurityPolicyResolver(getRelyingPartyConfigurationManager()));
+        }
+        
+        return securityPolicyResolver;
+    }
+    
+    /**
+     * Sets the resolver used to determine active security policy for an incoming request.
+     * 
+     * @param resolver resolver used to determine active security policy for an incoming request
+     */
+    public void setSecurityPolicyResolver(SecurityPolicyResolver resolver) {
+        securityPolicyResolver = resolver;
+    }
 
     /**
      * Gets the audit log for this handler.