Don't include log4j jar in WAR (does bad things to container logging)
authorlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Tue, 19 Jun 2007 00:33:38 +0000 (00:33 +0000)
committerlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Tue, 19 Jun 2007 00:33:38 +0000 (00:33 +0000)
Provide good set of default confs (currently only has SAML 2 items)
Add AuthenticationEngine and RemoteUser authentication handler to web.xml
various minor bug-fixes
IdP now compiles, installs, deploys, and answers some requests (not SAML requests yet)

git-svn-id: https://subversion.switch.ch/svn/shibboleth/java-idp/trunk@2253 ab3bd59b-922f-494d-bb5f-6f0a3c29deca

build.xml
resources/WEB-INF/web.xml
resources/classpath/schema/shibboleth-2.0-idp-profile-handler.xsd
resources/conf/attribute-resolver.xml
resources/conf/handler.xml [new file with mode: 0644]
resources/conf/internal.xml
resources/conf/logging.xml
resources/conf/protocol.xml [deleted file]
resources/conf/relying-party.xml
resources/conf/service.xml
src/edu/internet2/middleware/shibboleth/idp/authn/provider/RemoteUserAuthServlet.java

index f2baa86..7e7614d 100755 (executable)
--- a/build.xml
+++ b/build.xml
                <jar destfile="${dist.dir}/${war.name}" whenempty="fail">
                        <zipfileset dir="${webinf-temp.dir}" prefix="WEB-INF/" />
                        <zipfileset dir="${webpages.dir}" prefix="" />
-                       <zipfileset dir="${lib.dir}" prefix="WEB-INF/lib/" />
+                       <zipfileset dir="${lib.dir}" prefix="WEB-INF/lib/" excludes="**/log4j*.jar"/>
                        <zipfileset file="${dist.dir}/${jar.name}" prefix="WEB-INF/lib/" />
                </jar>
 
index 25cb9f9..6644de9 100644 (file)
     -->
     <context-param>
         <param-name>contextConfigLocation</param-name>
-        <param-value>
-            file://$IDP_HOME$/conf/internal.xml;
-            file://$IDP_HOME$/conf/service.xml;
-        </param-value>
+        <param-value>file://$IDP_HOME$/conf/internal.xml; file://$IDP_HOME$/conf/service.xml;</param-value>
     </context-param>
 
     <!-- 
@@ -35,9 +32,7 @@
         <session-timeout>30</session-timeout>
     </session-config>
 
-    <!--
-        Profile Request Dispatcher
-    -->
+    <!-- Profile Request Dispatcher -->
     <servlet>
         <servlet-name>ProfileRequestDispatcher</servlet-name>
         <servlet-class>
         <url-pattern>/profile/*</url-pattern>
     </servlet-mapping>
 
-    <!--
-        Authentication Manager
-    -->
-    <!--
-        <servlet>
-        <servlet-name>AuthenticationManager</servlet-name>
-        <servlet-class>edu.internet2.middleware.shibboleth.idp.authn.AuthenticationManager</servlet-class>
-        </servlet>
-        
-        <servlet-mapping>
-        <servlet-name>AuthenticationManager</servlet-name>
-        <url-pattern>/IdP/Authn</url-pattern>
-        </servlet-mapping>
-    -->
+    <!-- Authentication Engine Entry Point -->
+    <servlet>
+        <servlet-name>AuthenticationEngine</servlet-name>
+        <servlet-class>edu.internet2.middleware.shibboleth.idp.authn.AuthenticationEngine</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>AuthenticationEngine</servlet-name>
+        <url-pattern>/AuthnEngine</url-pattern>
+    </servlet-mapping>
+
+    <!-- Servlet protected by container user for RemoteUser authentication -->
+    <servlet>
+        <servlet-name>RemoteUserAuthHandler</servlet-name>
+        <servlet-class>edu.internet2.middleware.shibboleth.idp.authn.provider.RemoteUserAuthServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>RemoteUserAuthHandler</servlet-name>
+        <url-pattern>/Authn/RemoteUser</url-pattern>
+    </servlet-mapping>
 
+    <security-constraint>
+        <display-name>Shibboleth IdP</display-name>
+        <web-resource-collection>
+            <web-resource-name>Shibboleth IdP</web-resource-name>
+            <url-pattern>/Authn/RemoteUser</url-pattern>
+        </web-resource-collection>
+    </security-constraint>
+    
+    <login-config>
+      <auth-method>BASIC</auth-method>
+      <realm-name>UID/Password Auth</realm-name>
+    </login-config>
 </web-app>
\ No newline at end of file
index 2bf902d..f922178 100644 (file)
@@ -53,7 +53,7 @@
         </xsd:annotation>
         <xsd:complexContent>
             <xsd:extension base="SAML2ProfileHandler">
-                <xsd:attribute name="authenticationManagerPath" type="xsd:string" default="/AuthnManager">
+                <xsd:attribute name="authenticationManagerPath" type="xsd:string" default="/AuthnEngine">
                     <xsd:annotation>
                         <xsd:documentation>
                             The context relative path to the authentication manager used by this profile handler. This
index 13ace52..5e84696 100644 (file)
@@ -3,19 +3,43 @@
 <AttributeResolver xmlns="urn:mace:shibboleth:2.0:resolver"
                    xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                   xmlns:simple="urn:mace:shibboleth:2.0:resolver:ad:simple"
-                      xmlns:static="urn:mace:shibboleth:2.0:resolver:dc:static"
+                   xmlns:pc="urn:mace:shibboleth:2.0:resolver:pc"
+                   xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad"
+                      xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
+                   xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder"
                       xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver classpath:/schema/shibboleth-2.0-attribute-resolver.xsd
-                                       urn:mace:shibboleth:2.0:resolver:ad:simple classpath:/schema/shibboleth-2.0-attribute-resolver-ad-simple.xsd
-                                       urn:mace:shibboleth:2.0:resolver:dc:static classpath:/schema/shibboleth-2.0-attribute-resolver-dc-static.xsd">
+                                       urn:mace:shibboleth:2.0:resolver:pc classpath:/schema/shibboleth-2.0-attribute-resolver-pc.xsd
+                                       urn:mace:shibboleth:2.0:resolver:ad classpath:/schema/shibboleth-2.0-attribute-resolver-ad.xsd
+                                       urn:mace:shibboleth:2.0:resolver:dc classpath:/schema/shibboleth-2.0-attribute-resolver-dc.xsd
+                                       urn:mace:shibboleth:2.0:attribute:encoder classpath:/schema/shibboleth-2.0-attribute-encoder.xsd">
                                        
-    <resolver:DataConnector xsi:type="static:Static" id="static">
-        <static:Attribute id="uid">
-            <static:Value>testuser</static:Value>
-        </static:Attribute>
-        <static:Attribute id="cn">
-            <static:Value>Test User</static:Value>
-        </static:Attribute>
+    <resolver:AttributeDefinition xsi:type="ad:Simple" id="uid">
+        <resolver:DataConnectorDependency ref="static" />
+        <resolver:AttributeEncoder xsi:type="enc:SAML2StringNameID" />
+    </resolver:AttributeDefinition>
+    
+    <resolver:AttributeDefinition xsi:type="ad:Simple" id="cn">
+        <resolver:DataConnectorDependency ref="static" />
+    </resolver:AttributeDefinition>
+    
+    <resolver:AttributeDefinition xsi:type="ad:Simple" id="email">
+        <resolver:DataConnectorDependency ref="static" />
+    </resolver:AttributeDefinition>
+                                       
+    <resolver:DataConnector xsi:type="dc:Static" id="static">
+        <dc:Attribute id="uid">
+            <dc:Value>testUser</dc:Value>
+        </dc:Attribute>
+        <dc:Attribute id="cn">
+            <dc:Value>Test User</dc:Value>
+        </dc:Attribute>
+        <dc:Attribute id="email">
+            <dc:Value>t.user@example.org</dc:Value>
+        </dc:Attribute>
     </resolver:DataConnector>
     
+    <resolver:PrincipalConnector xsi:type="pc:Direct" 
+                                 id="directPC"
+                                 nameIDFormat="urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified" />
+
 </AttributeResolver>
\ No newline at end of file
diff --git a/resources/conf/handler.xml b/resources/conf/handler.xml
new file mode 100644 (file)
index 0000000..101a619
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<ProfileHandlerGroup xmlns="urn:mace:shibboleth:2.0:idp:profile-handler" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                     xsi:schemaLocation="urn:mace:shibboleth:2.0:idp:profile-handler classpath:/schema/shibboleth-2.0-idp-profile-handler.xsd">
+
+    <ErrorHandler xsi:type="JSPErrorHandler" jspPagePath="/error.jsp" />
+
+    <ProfileHandler xsi:type="Status">
+        <RequestPath>/status</RequestPath>
+    </ProfileHandler>
+
+    <ProfileHandler xsi:type="SAML2AttributeQuery">
+        <RequestPath>/saml2/SOAP/AttributeQuery</RequestPath>
+    </ProfileHandler>
+    
+    <ProfileHandler xsi:type="SAML2SSO">
+        <RequestPath>/saml2/SSO</RequestPath>
+    </ProfileHandler>
+    
+    <AuthenticationHandler xsi:type="RemoteUser">
+        <AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthenticationMethod>
+        <AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</AuthenticationMethod>
+    </AuthenticationHandler>
+
+</ProfileHandlerGroup>
\ No newline at end of file
index 6a44618..8cd3425 100644 (file)
@@ -1,14 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<!-- 
-    This file contains advanced configuration options for the Identity Providers.
-    
-    DO NOT EDIT THIS FILE unless you're absolutely certain you understand what you are doing.
--->
-
 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
-    default-autowire="byType">
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
     
     <!-- Spring configuration file that boostraps OpenSAML -->
     <bean id="shibboleth.OpensamlConfig" class="edu.internet2.middleware.shibboleth.common.config.OpensamlConfigBean" lazy-init="false">
         <property name="ignoreElementContentWhitespace" value="true" />
         <property name="namespaceAware" value="true" />
     </bean>
-
-    <bean id="shibboleth.SAML2AttributeQueryMessageSecurityPolicyFactory" class="org.opensaml.common.binding.security.SAMLSecurityPolicyFactory">
+    
+    <bean id="shibboleth.SAML2SSOMessageSecurityPolicyFactory"
+          parent="shibboleth.BaseSAML2SecurityPolicyFactory">
+        <property name="issuerRole">
+            <bean id="shibboleth.SAML2SSORole" class="javax.xml.namespace.QName">
+                <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata" />
+                <constructor-arg value="SPSSODescriptor" />
+            </bean>
+        </property>
+    </bean>
+    
+    <bean id="shibboleth.SAML2AttributeQueryMessageSecurityPolicyFactory"
+          parent="shibboleth.BaseSAML2SecurityPolicyFactory">
         <property name="issuerRole">
             <bean id="shibboleth.SAML2AttributeQueryRole" class="javax.xml.namespace.QName">
                 <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata" />
                 <constructor-arg value="SPSSODescriptor" />
             </bean>
         </property>
+    </bean>
+    
+    <bean id="shibboleth.BaseSAML2SecurityPolicyFactory" abstract="true" class="org.opensaml.common.binding.security.SAMLSecurityPolicyFactory">
         <property name="issuerProtocol" value="urn:oasis:names:tc:SAML:2.0:protocol" />
         <property name="policyRuleFactories">
             <list>
                 <ref bean="shibboleth.SAML2ProtocolMessageRuleFactory" />
-                <ref bean="shibboleth.MessageIssueInstantRuleFactory" />
+                <!-- Removed for testing -->
+                <!-- ref bean="shibboleth.MessageIssueInstantRuleFactory" /-->
             </list>
         </property>
+        <!-- Turn off for testing -->
+        <property name="requiredAuthenticatedIssuer" value="false" />
     </bean>
     
     <bean id="shibboleth.SAML2ProtocolMessageRuleFactory" class="org.opensaml.saml2.binding.security.SAML2ProtocolMessageRuleFactory" />
                     <key>
                         <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST</value>
                     </key>
-                    <bean id="shibboleth.SAML2HttpPostDecoderBuilder" class="org.opensaml.saml2.binding.decoding.HTTPPostDecoderBuilder" />
+                    <bean id="shibboleth.SAML2HttpPostDecoderBuilder" class="org.opensaml.saml2.binding.decoding.HTTPPostDecoderBuilder">
+                        <property name="parser" ref="shibboleth.ParserPool" />
+                    </bean>
                 </entry>
                 <entry>
                     <key>
                         <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect</value>
                     </key>
-                    <bean id="shibboleth.SAML2HttpRedirectDecoderBuilder" class="org.opensaml.saml2.binding.decoding.HTTPRedirectDeflateDecoderBuilder" />
+                    <bean id="shibboleth.SAML2HttpRedirectDecoderBuilder" class="org.opensaml.saml2.binding.decoding.HTTPRedirectDeflateDecoderBuilder" >
+                        <property name="parser" ref="shibboleth.ParserPool" />
+                    </bean>
                 </entry>
                 <entry>
                     <key>
                         <value>urn:oasis:names:tc:SAML:2.0:bindings:SOAP</value>
                     </key>
-                    <bean id="shibboleth.SAML2HttpSoap11DecoderBuilder" class="org.opensaml.saml2.binding.decoding.HTTPSOAP11DecoderBuilder" />
+                    <bean id="shibboleth.SAML2HttpSoap11DecoderBuilder" class="org.opensaml.saml2.binding.decoding.HTTPSOAP11DecoderBuilder" >
+                        <property name="parser" ref="shibboleth.ParserPool" />
+                    </bean>
                 </entry>
                 <entry>
                     <key>
                         <value>urn:oasis:names:tc:SAML:1.0:profiles:browser-post</value>
                     </key>
-                    <bean id="shibboleth.SAML1HttpPostDecoderBuilder" class="org.opensaml.saml1.binding.decoding.HTTPPostDecoderBuilder" />
+                    <bean id="shibboleth.SAML1HttpPostDecoderBuilder" class="org.opensaml.saml1.binding.decoding.HTTPPostDecoderBuilder" >
+                        <property name="parser" ref="shibboleth.ParserPool" />
+                    </bean>
                 </entry>
                 <entry>
                     <key>
                         <value>urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding</value>
                     </key>
-                    <bean id="shibboleth.SAML1HttpSoap11DecoderBuilder" class="org.opensaml.saml1.binding.decoding.HTTPSOAP11DecoderBuilder" />
+                    <bean id="shibboleth.SAML1HttpSoap11DecoderBuilder" class="org.opensaml.saml1.binding.decoding.HTTPSOAP11DecoderBuilder" >
+                        <property name="parser" ref="shibboleth.ParserPool" />
+                    </bean>
                 </entry>
             </map>
         </property>
     
     <bean id="shibboleth.SessionManager" class="edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerImpl" />
     
+    <bean id="shibboleth.SAML2AttributeAuthority"
+          class="edu.internet2.middleware.shibboleth.common.attribute.provider.ShibbolethSAML2AttributeAuthority">
+          <constructor-arg ref="shibboleth.AttributeResolver" />
+          <property name="filteringEngine" ref="shibboleth.AttributeFilterEngine" />
+    </bean>
+    
     <bean id="shibboleth.ServletAttributeExporter"
         class="org.springframework.web.context.support.ServletContextAttributeExporter">
         <property name="attributes">
                     <key>
                         <value>handlerManager</value>
                     </key>
-                    <ref bean="shibboleth.ProfileHandler" />
+                    <ref bean="shibboleth.HandlerManager" />
+                </entry>
+                <entry>
+                    <key>
+                        <value>sessionManager</value>
+                    </key>
+                    <ref bean="shibboleth.SessionManager" />
                 </entry>
             </map>
         </property>
index faadbcd..9c9b749 100644 (file)
@@ -21,7 +21,7 @@
     <!-- Send messages to local files      -->
     <!-- ================================= -->
     <appender name="IDP_LOG" class="org.opensaml.log.RollingFileAppender">
-        <param name="File" value="$IDP_HOME$/conf/idp.log" />
+        <param name="File" value="$IDP_HOME$/logs/idp.log" />
         <param name="Append" value="false" />
 
         <!-- Rollover at midnight each day -->
@@ -39,7 +39,7 @@
     </appender>
 
     <appender name="IDP_AUDIT" class="org.opensaml.log.RollingFileAppender">
-        <param name="File" value="$IDP_HOME$/conf/audit.log" />
+        <param name="File" value="$IDP_HOME$/logs/audit.log" />
         <param name="Append" value="false" />
 
         <!-- Rollover at midnight each day -->
@@ -57,7 +57,7 @@
     </appender>
 
     <appender name="IDP_ACCESS" class="org.opensaml.log.RollingFileAppender">
-        <param name="File" value="$IDP_HOME$/conf/access.log" />
+        <param name="File" value="$IDP_HOME$/logs/access.log" />
         <param name="Append" value="false" />
 
         <!-- Rollover at midnight each day -->
diff --git a/resources/conf/protocol.xml b/resources/conf/protocol.xml
deleted file mode 100644 (file)
index 10f9fe6..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<ProfileHandlerGroup xmlns="urn:mace:shibboleth:2.0:idp:profile"
-                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                 xsi:schemaLocation="urn:mace:shibboleth:2.0:idp:profile classpath:/schema/shibboleth-2.0-idp-profile.xsd">
-
-    <ErrorHandler xsi:type="JSPErrorHandler" jspPagePath="/error.jsp" />
-
-    <ProfileHandler xsi:type="idpProfile:Status">
-        <RequestPath>/shibboleth/IdP/status</RequestPath>
-    </ProfileHandler>
-
-<!--
-    <ProfileHandler xsi:type="idpProfile:SAML2SSO">
-        <RequestPath>/shibboleth/IdP/saml2/HTTP/SSO</RequestPath>
-    </ProfileHandler>
-
-    <ProfileHandler xsi:type="idpProfile:SAML2AttributeQuery">
-        <RequestPath>/shibboleth/IdP/saml2/SOAP/attribute</RequestPath>
-    </ProfileHandler>
--->
-
-</ProfileHandlerGroup>
\ No newline at end of file
index 8c9abe0..f0b0660 100644 (file)
                    xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party classpath:/schema/shibboleth-2.0-relying-party.xsd
                                        urn:mace:shibboleth:2.0:relying-party:saml classpath:/schema/shibboleth-2.0-relying-party-saml.xsd
                                        urn:mace:shibboleth:2.0:metadata classpath:/schema/shibboleth-2.0-metadata.xsd
-                                       urn:mace:shibboleth:2.0:credential classpath:/schema/shibboleth-2.0-credential.xsd">
+                                       urn:mace:shibboleth:2.0:credential classpath:/schema/shibboleth-2.0-credential.xsd
+                                       urn:oasis:names:tc:SAML:2.0:metadata classpath:/schema/saml-schema-metadata-2.0.xsd">
                                        
     <AnonymousRelyingParty provider="http://example.org/IdP" />
     
     <DefaultRelyingParty provider="http://example.org/IdP" />
     
-    <RelyingParty id="urn:mace:incommon"
+    <RelyingParty id="urn:example.org:unitTestFed"
                   provider="http://example.org/IdP">
-          <!-- 
-        <ProfileConfiguration xsi:type="saml:ShibbolethSSOProfile" />
+        <ProfileConfiguration xsi:type="saml:SAML2AttributeQueryProfile" />
         <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" />
-        -->
     </RelyingParty>
     
-    <MetadataProvider xsi:type="FileBackedURLMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"
-                      id="incommon-metadata"
-                      metadataURL="http://wayf.incommonfederation.org/InCommon/InCommon-metadata.xml"
-                      backingFile="$IDP_HOME$/temp/metadata/incommon.xml"/>
+    <MetadataProvider id="UnitTestConf1" xsi:type="InlineMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata">
+        <EntitiesDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
+            <EntityDescriptor entityID="urn:example.org:unitTest:sp1">
+                <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
+                    <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://example.org/mySP" index="0" />
+                    <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://example.org/mySP" index="0" />
+                </SPSSODescriptor>
+            </EntityDescriptor>
+            <EntitiesDescriptor Name="urn:example.org:unitTestFed" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
+                <EntityDescriptor entityID="urn:example.org:unitTestFed:sp2">
+                    <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
+                        <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://example.org/mySP" index="0" />
+                        <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://example.org/mySP" index="0" />
+                    </SPSSODescriptor>
+                </EntityDescriptor>
+            </EntitiesDescriptor>
+        </EntitiesDescriptor>
+    </MetadataProvider>
 
 </RelyingPartyGroup>
\ No newline at end of file
index 8e35eea..4088485 100644 (file)
@@ -1,64 +1,39 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<!-- 
-    This file contains definitions to standalone subsystems, or services, used by the IdP.  These 
-    services include things such as the attribute resolver and filtering engines as well as the 
-    relying party configuration manager.
-    
-    Reloadable services (profile handler manager, relying party configuration manager, attribute resolver, and 
-    attribute filtering engine) can be configured to poll their configuration files on a given frequency and 
-    reload those files if they've changed.  Enable this feature by adding an attribute, on the Service element, 
-    named configurationResourcePollingFrequency whose value is the frequency, in milliseconds, to poll the file(s).
-    A second attribute, configurationResourcePollingRetryAttempts, specifies the number of times a particular 
-    configuration file may be cause an error before the service stops trying to load it.
- -->
-
 <IdPConfig xmlns="urn:mace:shibboleth:2.0:idp:services" xmlns:service="urn:mace:shibboleth:2.0:services"
-    xmlns:profile="urn:mace:shibboleth:2.0:profile-handler" xmlns:relyingParty="urn:mace:shibboleth:2.0:relying-party"
+    xmlns:profile="urn:mace:shibboleth:2.0:idp:profile-handler" xmlns:relyingParty="urn:mace:shibboleth:2.0:relying-party"
     xmlns:resolver="urn:mace:shibboleth:2.0:resolver" xmlns:afp="urn:mace:shibboleth:2.0:afp"
     xmlns:resource="urn:mace:shibboleth:2.0:resource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:mace:shibboleth:2.0:idp:services classpath:/schema/shibboleth-2.0-idp-service.xsd
                         urn:mace:shibboleth:2.0:services classpath:/schema/shibboleth-2.0-services.xsd
-                        urn:mace:shibboleth:2.0:profile-handler classpath:/schema/shibboleth-2.0-profile-handler.xsd
+                        urn:mace:shibboleth:2.0:idp:profile-handler classpath:/schema/shibboleth-2.0-idp-profile-handler.xsd
                         urn:mace:shibboleth:2.0:relying-party classpath:/schema/shibboleth-2.0-relying-party.xsd
                         urn:mace:shibboleth:2.0:resolver classpath:/schema/shibboleth-2.0-attribute-resolver.xsd
                         urn:mace:shibboleth:2.0:afp classpath:/schema/shibboleth-2.0-afp.xsd 
                         urn:mace:shibboleth:2.0:resource classpath:/schema/shibboleth-2.0-resource.xsd">
 
-<!--
-    <LoggingConfiguration>$IDP_HOME$/conf/logging.xml</LoggingConfiguration>
--->
-
-    <Service id="shibboleth.ProfileHandler"
+    <Service id="shibboleth.AttributeResolver"
              xmlns="urn:mace:shibboleth:2.0:services"
-             xsi:type="profile:ShibbolethProfileHandlerManager"
-             configurationResourcePollingFrequency="300000"
-             configurationResourcePollingRetryAttempts="10">
-        <ConfigurationResource file="$IDP_HOME$/conf/protocol.xml" xsi:type="resource:FilesystemResource" />
+             xsi:type="resolver:ShibbolethAttributeResolver">
+        <ConfigurationResource file="$IDP_HOME$/conf/attribute-resolver.xml" xsi:type="resource:FilesystemResource" />
     </Service>
 
-    <Service id="shibboleth.RelyingPartyConfigurationManager"
+    <Service id="shibboleth.AttributeFilterEngine"
              xmlns="urn:mace:shibboleth:2.0:services"
-             xsi:type="relyingParty:SAMLMDRelyingPartyConfigurationManager"
-             configurationResourcePollingFrequency="300000"
-             configurationResourcePollingRetryAttempts="10">
-        <ConfigurationResource file="$IDP_HOME$/conf/relying-party.xml" xsi:type="resource:FilesystemResource" />
+             xsi:type="afp:ShibbolethAttributeFilteringEngine">
+        <ConfigurationResource file="$IDP_HOME$/conf/attribute-filter.xml" xsi:type="resource:FilesystemResource" />
     </Service>
 
-    <Service id="shibboleth.AttributeResolver"
+    <Service id="shibboleth.HandlerManager"
              xmlns="urn:mace:shibboleth:2.0:services"
-             xsi:type="resolver:ShibbolethAttributeResolver"
-             configurationResourcePollingFrequency="300000"
-             configurationResourcePollingRetryAttempts="10">
-        <ConfigurationResource file="$IDP_HOME$/conf/attribute-resolver.xml" xsi:type="resource:FilesystemResource" />
+             xsi:type="profile:IdPProfileHandlerManager">
+        <ConfigurationResource file="$IDP_HOME$/conf/handler.xml" xsi:type="resource:FilesystemResource" />
     </Service>
 
-    <Service id="shibboleth.AttributeFilterEngine"
+    <Service id="shibboleth.RelyingPartyConfigurationManager"
              xmlns="urn:mace:shibboleth:2.0:services"
-             xsi:type="afp:ShibbolethAttributeFilteringEngine"
-             configurationResourcePollingFrequency="60000"
-             configurationResourcePollingRetryAttempts="10">
-        <ConfigurationResource file="$IDP_HOME$/conf/attribute-filter.xml" xsi:type="resource:FilesystemResource" />
+             xsi:type="relyingParty:SAMLMDRelyingPartyConfigurationManager">
+        <ConfigurationResource file="$IDP_HOME$/conf/relying-party.xml" xsi:type="resource:FilesystemResource" />
     </Service>
 
 </IdPConfig>
\ No newline at end of file
index 5a73f80..844e235 100644 (file)
@@ -18,6 +18,7 @@ package edu.internet2.middleware.shibboleth.idp.authn.provider;
 
 import java.io.IOException;
 
+import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -31,10 +32,11 @@ import edu.internet2.middleware.shibboleth.idp.authn.AuthenticationHandler;
 public class RemoteUserAuthServlet extends HttpServlet {
 
     /** Serial version UID. */
-    private static final long serialVersionUID = 1968754704168240644L;
+    private static final long serialVersionUID = -4073010252382266761L;
 
     /** {@inheritDoc} */
-    public void doPost(HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException {
+    protected void service(HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws ServletException,
+            IOException {
         httpRequest.setAttribute(AuthenticationHandler.PRINCIPAL_NAME_KEY, httpRequest.getRemoteUser());
         AuthenticationEngine.returnToAuthenticationEngine(httpRequest, httpResponse);
     }