<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:scr="http://www.springframework.org/schema/security"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
	http://www.springframework.org/schema/security
	http://www.springframework.org/schema/security/spring-security-4.2.xsd
	http://www.springframework.org/schema/util
	http://www.springframework.org/schema/util/spring-util-4.3.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">

    <scr:global-method-security pre-post-annotations="enabled">
        <scr:expression-handler ref="expressionHandler"/>
    </scr:global-method-security>


    <!-- acl config -->
    <bean id="aclPermissionFactory" class="org.apache.kylin.rest.security.AclPermissionFactory"/>

    <bean id="expressionHandler"
          class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
        <property name="permissionEvaluator" ref="permissionEvaluator"/>
    </bean>

    <bean id="permissionEvaluator" class="org.apache.kylin.rest.security.KylinAclPermissionEvaluator">
        <constructor-arg ref="aclService"/>
        <constructor-arg ref="aclPermissionFactory"/>
    </bean>

    <bean id="aclAuthorizationStrategy"
          class="org.springframework.security.acls.domain.AclAuthorizationStrategyImpl">
        <constructor-arg>
            <list>
                <bean class="org.springframework.security.core.authority.SimpleGrantedAuthority">
                    <constructor-arg value="ROLE_ADMIN"/>
                </bean>
                <bean class="org.springframework.security.core.authority.SimpleGrantedAuthority">
                    <constructor-arg value="ROLE_ADMIN"/>
                </bean>
                <bean class="org.springframework.security.core.authority.SimpleGrantedAuthority">
                    <constructor-arg value="ROLE_ADMIN"/>
                </bean>
            </list>
        </constructor-arg>
    </bean>

    <bean id="auditLogger"
          class="org.springframework.security.acls.domain.ConsoleAuditLogger"/>

    <bean id="permissionGrantingStrategy"
          class="org.springframework.security.acls.domain.DefaultPermissionGrantingStrategy">
        <constructor-arg ref="auditLogger"/>
    </bean>

    <bean id="userService" class="org.apache.kylin.rest.service.KylinUserService"/>

    <bean id="userGroupService" class="org.apache.kylin.rest.service.KylinUserGroupService"/>

    <beans profile="ldap,saml">
        <bean id="ldapSource"
              class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
            <constructor-arg value="${kylin.security.ldap.connection-server}"/>
            <property name="userDn" value="${kylin.security.ldap.connection-username}"/>
            <property name="password" value="${kylin.security.ldap.connection-password}"/>
        </bean>

        <bean id="kylinUserAuthProvider"
              class="org.apache.kylin.rest.security.KylinAuthenticationProvider">
            <constructor-arg>
                <bean id="ldapUserAuthenticationProvider"
                      class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
                    <constructor-arg>
                        <bean class="org.springframework.security.ldap.authentication.BindAuthenticator">
                            <constructor-arg ref="ldapSource"/>
                            <property name="userSearch">
                                <bean id="userSearch"
                                      class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
                                    <constructor-arg index="0"
                                                     value="${kylin.security.ldap.user-search-base}"/>
                                    <constructor-arg index="1"
                                                     value="${kylin.security.ldap.user-search-pattern}"/>
                                    <constructor-arg index="2" ref="ldapSource"/>
                                </bean>
                            </property>
                        </bean>
                    </constructor-arg>
                    <constructor-arg>
                        <bean class="org.apache.kylin.rest.security.LDAPAuthoritiesPopulator">
                            <constructor-arg index="0" ref="ldapSource"/>
                            <constructor-arg index="1"
                                             value="${kylin.security.ldap.user-group-search-base}"/>
                            <constructor-arg index="2" value="${kylin.security.acl.admin-role}"/>
                            <property name="groupSearchFilter" value="${kylin.security.ldap.user-group-search-filter}"/>
                        </bean>
                    </constructor-arg>
                </bean>
            </constructor-arg>
        </bean>

        <bean id="kylinServiceAccountAuthProvider"
              class="org.apache.kylin.rest.security.KylinAuthenticationProvider">
            <constructor-arg>
                <bean id="ldapServiceAuthenticationProvider"
                      class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
                    <constructor-arg>
                        <bean class="org.springframework.security.ldap.authentication.BindAuthenticator">
                            <constructor-arg ref="ldapSource"/>
                            <property name="userSearch">
                                <bean id="userSearch"
                                      class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
                                    <constructor-arg index="0"
                                                     value="${kylin.security.ldap.service-search-base}"/>
                                    <constructor-arg index="1"
                                                     value="${kylin.security.ldap.service-search-pattern}"/>
                                    <constructor-arg index="2" ref="ldapSource"/>
                                </bean>
                            </property>
                        </bean>
                    </constructor-arg>
                    <constructor-arg>
                        <bean class="org.apache.kylin.rest.security.LDAPAuthoritiesPopulator">
                            <constructor-arg index="0" ref="ldapSource"/>
                            <constructor-arg index="1"
                                             value="${kylin.security.ldap.service-group-search-base}"/>
                            <constructor-arg index="2" value="${kylin.security.acl.admin-role}"/>
                            <property name="groupSearchFilter" value="${kylin.security.ldap.user-group-search-filter}"/>
                        </bean>
                    </constructor-arg>
                </bean>
            </constructor-arg>
        </bean>

    </beans>

    <beans profile="ldap">
        <scr:authentication-manager alias="ldapAuthenticationManager">
            <!-- do user ldap auth -->
            <scr:authentication-provider ref="kylinUserAuthProvider"></scr:authentication-provider>

            <!-- do service account ldap auth -->
            <scr:authentication-provider
                    ref="kylinServiceAccountAuthProvider"></scr:authentication-provider>
        </scr:authentication-manager>

    </beans>


    <beans profile="testing">
        <util:list id="adminAuthorities"
                   value-type="org.springframework.security.core.authority.SimpleGrantedAuthority">
            <value>ROLE_ADMIN</value>
            <value>ROLE_MODELER</value>
            <value>ROLE_ANALYST</value>
        </util:list>
        <util:list id="modelerAuthorities"
                   value-type="org.springframework.security.core.authority.SimpleGrantedAuthority">
            <value>ROLE_MODELER</value>
            <value>ROLE_ANALYST</value>
        </util:list>
        <util:list id="analystAuthorities"
                   value-type="org.springframework.security.core.authority.SimpleGrantedAuthority">
            <value>ROLE_ANALYST</value>
        </util:list>

        <bean class="org.springframework.security.core.userdetails.User" id="adminUser">
            <constructor-arg value="ADMIN"/>
            <constructor-arg
                    value="$2a$10$o3ktIWsGYxXNuUWQiYlZXOW5hWcqyNAFQsSSCSEWoC/BRVMAUjL32"/>
            <constructor-arg ref="adminAuthorities"/>
        </bean>
        <bean class="org.springframework.security.core.userdetails.User" id="modelerUser">
            <constructor-arg value="MODELER"/>
            <constructor-arg
                    value="$2a$10$Le5ernTeGNIARwMJsY0WaOLioNQdb0QD11DwjeyNqqNRp5NaDo2FG"/>
            <constructor-arg ref="modelerAuthorities"/>
        </bean>
        <bean class="org.springframework.security.core.userdetails.User" id="analystUser">
            <constructor-arg value="ANALYST"/>
            <constructor-arg
                    value="$2a$10$s4INO3XHjPP5Vm2xH027Ce9QeXWdrfq5pvzuGr9z/lQmHqi0rsbNi"/>
            <constructor-arg ref="analystAuthorities"/>
        </bean>

        <bean id="kylinUserAuthProvider"
              class="org.apache.kylin.rest.security.KylinAuthenticationProvider">
            <constructor-arg>
                <bean class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
                    <property name="userDetailsService">
                        <bean class="org.apache.kylin.rest.service.KylinUserService">
                            <constructor-arg>
                                <util:list
                                        value-type="org.springframework.security.core.userdetails.User">
                                    <ref bean="adminUser"></ref>
                                    <ref bean="modelerUser"></ref>
                                    <ref bean="analystUser"></ref>
                                </util:list>
                            </constructor-arg>
                        </bean>
                    </property>

                    <property name="passwordEncoder" ref="passwordEncoder"></property>
                </bean>
            </constructor-arg>
        </bean>

        <!-- user auth -->
        <bean id="passwordEncoder"
              class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>

        <scr:authentication-manager alias="testingAuthenticationManager">
            <!-- do user ldap auth -->
            <scr:authentication-provider ref="kylinUserAuthProvider"></scr:authentication-provider>
        </scr:authentication-manager>
    </beans>


    <beans profile="testing,ldap">
        <scr:http auto-config="true" use-expressions="true">
            <scr:csrf disabled="true"/>
            <scr:http-basic entry-point-ref="unauthorisedEntryPoint"/>

            <scr:intercept-url pattern="/api/user/authentication*/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/query/runningQueries" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/query/*/stop" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/query*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/metadata*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/**/metrics" access="permitAll"/>
            <scr:intercept-url pattern="/api/**/jmetrics/**" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/cache*/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/streaming_coordinator/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/service_discovery/state/is_active_job_node" access="permitAll"/>
            <scr:intercept-url pattern="/api/cubes/src/tables" access="hasAnyRole('ROLE_ANALYST')"/>
            <scr:intercept-url pattern="/api/cubes*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/models*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/streaming*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/jobs/spark" access="permitAll"/>
            <scr:intercept-url pattern="/api/job*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/admin/public_config" access="permitAll"/>
            <scr:intercept-url pattern="/api/admin/version" access="permitAll"/>
            <scr:intercept-url pattern="/api/projects" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/admin*/**" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/tables/**/snapshotLocalCache/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/**" access="isAuthenticated()"/>

            <scr:form-login login-page="/login"/>
            <scr:logout invalidate-session="true" delete-cookies="JSESSIONID" logout-url="/j_spring_security_logout"
                        logout-success-url="/."/>
            <scr:session-management session-fixation-protection="newSession"/>
        </scr:http>
    </beans>

    <beans profile="saml">
        <!-- Enable auto-wiring -->
        <context:annotation-config/>

        <!-- Scan for auto-wiring classes in spring saml packages -->
        <context:component-scan base-package="org.springframework.security.saml"/>

        <!-- Unsecured pages -->
        <scr:http security="none" pattern="/image/**"/>
        <scr:http security="none" pattern="/css/**"/>
        <scr:http security="none" pattern="/less/**"/>
        <scr:http security="none" pattern="/fonts/**"/>
        <scr:http security="none" pattern="/js/**"/>
        <scr:http security="none" pattern="/login/**"/>
        <scr:http security="none" pattern="/routes.json"/>

        <!-- Secured Rest API urls with LDAP basic authentication -->
        <scr:http pattern="/api/**" use-expressions="true"
                  authentication-manager-ref="apiAccessAuthenticationManager">
            <scr:csrf disabled="true"/>
            <scr:http-basic entry-point-ref="unauthorisedEntryPoint"/>

            <scr:intercept-url pattern="/api/user/authentication*/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/query/runningQueries" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/query/*/stop" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/query*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/metadata*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/**/metrics" access="permitAll"/>
            <scr:intercept-url pattern="/api/**/jmetrics/**" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/cache*/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/streaming_coordinator/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/cubes/src/tables" access="hasAnyRole('ROLE_ANALYST')"/>
            <scr:intercept-url pattern="/api/cubes*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/models*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/streaming*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/job*/**" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/projects*/*" access="isAuthenticated()"/>
            <scr:intercept-url pattern="/api/admin/public_config" access="permitAll"/>
            <scr:intercept-url pattern="/api/admin*/**" access="hasRole('ROLE_ADMIN')"/>
            <scr:intercept-url pattern="/api/tables/**/snapshotLocalCache/**" access="permitAll"/>
            <scr:intercept-url pattern="/api/**" access="isAuthenticated()"/>

            <scr:form-login login-page="/login"/>
            <scr:logout invalidate-session="true" delete-cookies="JSESSIONID" logout-url="/j_spring_security_logout"
                        logout-success-url="/."/>
            <scr:session-management session-fixation-protection="newSession"/>
        </scr:http>

        <!-- Secured non-api urls with SAML SSO -->
        <scr:http auto-config="true" entry-point-ref="samlEntryPoint" use-expressions="false"
                  authentication-manager-ref="webAccessAuthenticationManager">
            <scr:csrf disabled="true"/>
            <scr:intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY"/>
            <scr:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
            <scr:custom-filter after="BASIC_AUTH_FILTER" ref="samlFilter"/>
        </scr:http>


        <!-- API authentication manager -->
        <scr:authentication-manager id="apiAccessAuthenticationManager">
            <scr:authentication-provider ref="kylinServiceAccountAuthProvider"/>
            <scr:authentication-provider ref="kylinUserAuthProvider"/>
        </scr:authentication-manager>


        <!-- Web authentication manager -->
        <scr:authentication-manager id="webAccessAuthenticationManager">
            <scr:authentication-provider ref="kylinSAMLAuthenticationProvider"/>
        </scr:authentication-manager>

        <!-- Central storage of cryptographic keys -->
        <bean id="keyManager" class="org.springframework.security.saml.key.JKSKeyManager">
            <constructor-arg value="${kylin.security.saml.keystore-file}"/>
            <constructor-arg type="java.lang.String" value="changeit"/>
            <constructor-arg>
                <map>
                    <entry key="kylin" value="changeit"/>
                </map>
            </constructor-arg>
            <constructor-arg type="java.lang.String" value="kylin"/>
        </bean>

        <!-- Filters for processing of SAML messages -->
        <bean id="samlFilter" class="org.springframework.security.web.FilterChainProxy">
            <scr:filter-chain-map request-matcher="ant">
                <scr:filter-chain pattern="/saml/login/**" filters="samlEntryPoint"/>
                <scr:filter-chain pattern="/saml/logout/**" filters="samlLogoutFilter"/>
                <scr:filter-chain pattern="/saml/metadata/**" filters="metadataDisplayFilter"/>
                <scr:filter-chain pattern="/saml/SSO/**" filters="samlWebSSOProcessingFilter"/>
                <scr:filter-chain pattern="/saml/SSOHoK/**"
                                  filters="samlWebSSOHoKProcessingFilter"/>
                <scr:filter-chain pattern="/saml/SingleLogout/**"
                                  filters="samlLogoutProcessingFilter"/>
            </scr:filter-chain-map>
        </bean>

        <!-- Handler deciding where to redirect user after successful login -->
        <bean id="successRedirectHandler"
              class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler">
            <property name="defaultTargetUrl" value="/models"/>
            <property name="alwaysUseDefaultTargetUrl" value="true"/>
        </bean>

        <!-- Handler deciding where to redirect user after failed login -->
        <bean id="failureRedirectHandler"
              class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
            <property name="useForward" value="true"/>
            <property name="defaultFailureUrl" value="/login"/>
        </bean>

        <!-- Handler for successful logout -->
        <bean id="successLogoutHandler"
              class="org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler">
        </bean>

        <!-- Logger for SAML messages and events -->
        <bean id="samlLogger" class="org.springframework.security.saml.log.SAMLDefaultLogger"/>

        <!-- Filter automatically generates default SP metadata -->
        <bean id="metadataGeneratorFilter"
              class="org.springframework.security.saml.metadata.MetadataGeneratorFilter">
            <constructor-arg>
                <bean class="org.springframework.security.saml.metadata.MetadataGenerator">
                    <property name="extendedMetadata">
                        <bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
                            <property name="idpDiscoveryEnabled" value="false"/>
                        </bean>
                    </property>
                    <property name="entityBaseURL"
                              value="${kylin.security.saml.metadata-entity-base-url}"/>
                </bean>
            </constructor-arg>
        </bean>

        <!-- Entry point to initialize authentication, default values taken from properties file -->
        <bean id="samlEntryPoint" class="org.springframework.security.saml.SAMLEntryPoint">
            <property name="defaultProfileOptions">
                <bean class="org.springframework.security.saml.websso.WebSSOProfileOptions">
                    <property name="includeScoping" value="false"/>
                </bean>
            </property>
        </bean>

        <!-- The filter is waiting for connections on URL suffixed with filterSuffix and presents SP metadata there -->
        <bean id="metadataDisplayFilter"
              class="org.springframework.security.saml.metadata.MetadataDisplayFilter"/>

        <!-- IDP Metadata configuration - paths to metadata of IDPs in circle of trust is here -->
        <bean id="metadata"
              class="org.springframework.security.saml.metadata.CachingMetadataManager">
            <constructor-arg>
                <list>
                    <!-- Example of classpath metadata with Extended Metadata -->
                    <bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
                        <constructor-arg>
                            <bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
                                <constructor-arg>
                                    <value type="java.io.File">${kylin.security.saml.metadata-file}</value>
                                </constructor-arg>
                                <property name="parserPool" ref="parserPool"/>
                            </bean>
                        </constructor-arg>
                        <constructor-arg>
                            <bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
                            </bean>
                        </constructor-arg>
                        <property name="metadataTrustCheck" value="false"/>
                    </bean>
                </list>
            </constructor-arg>
        </bean>

        <bean id="ldapUserAuthoritiesPopulator"
              class="org.apache.kylin.rest.security.LDAPAuthoritiesPopulator">
            <constructor-arg index="0" ref="ldapSource"/>
            <constructor-arg index="1" value="${kylin.security.ldap.user-group-search-base}"/>
            <constructor-arg index="2" value="${kylin.security.acl.admin-role}"/>
            <property name="groupSearchFilter" value="${kylin.security.ldap.user-group-search-filter}"/>
        </bean>

        <bean id="userSearch"
              class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
            <constructor-arg index="0" value="${kylin.security.ldap.user-search-base}"/>
            <constructor-arg index="1" value="${kylin.security.ldap.user-search-pattern}"/>
            <constructor-arg index="2" ref="ldapSource"/>
        </bean>


        <bean id="samlUserDetailsService"
              class="org.apache.kylin.rest.security.SAMLUserDetailsService">
            <constructor-arg>
                <bean id="ldapUserDetailsService"
                      class="org.springframework.security.ldap.userdetails.LdapUserDetailsService">
                    <constructor-arg ref="userSearch"/>
                    <constructor-arg ref="ldapUserAuthoritiesPopulator"/>
                </bean>
            </constructor-arg>
        </bean>

        <bean id="kylinSAMLAuthenticationProvider"
              class="org.apache.kylin.rest.security.KylinAuthenticationProvider">
            <constructor-arg>
                <!-- SAML Authentication Provider responsible for validating of received SAML messages -->
                <bean id="samlAuthenticationProvider"
                      class="org.springframework.security.saml.SAMLAuthenticationProvider">
                    <!-- OPTIONAL property: can be used to store/load user data after login -->
                    <property name="userDetails" ref="samlUserDetailsService"/>
                </bean>
            </constructor-arg>
        </bean>


        <!-- Provider of default SAML Context -->
        <!-- 
        <bean id="contextProvider" class="org.springframework.security.saml.context.SAMLContextProviderImpl"/>
        -->

        <!-- Provider of a SAML Context behind a LoadBanlancer or reverse proxy -->
        <bean id="contextProvider"
              class="org.springframework.security.saml.context.SAMLContextProviderLB">
            <property name="scheme" value="${kylin.security.saml.context-scheme}"/>
            <property name="serverName" value="${kylin.security.saml.context-server-name}"/>
            <property name="serverPort" value="${kylin.security.saml.context-server-port}"/>
            <property name="includeServerPortInRequestURL" value="false"/>
            <property name="contextPath" value="${kylin.security.saml.context-path}"/>
        </bean>


        <!-- Processing filter for WebSSO profile messages -->
        <bean id="samlWebSSOProcessingFilter"
              class="org.springframework.security.saml.SAMLProcessingFilter">
            <property name="authenticationManager" ref="webAccessAuthenticationManager"/>
            <property name="authenticationSuccessHandler" ref="successRedirectHandler"/>
            <property name="authenticationFailureHandler" ref="failureRedirectHandler"/>
        </bean>

        <!-- Processing filter for WebSSO Holder-of-Key profile -->
        <bean id="samlWebSSOHoKProcessingFilter"
              class="org.springframework.security.saml.SAMLWebSSOHoKProcessingFilter">
            <property name="authenticationManager" ref="webAccessAuthenticationManager"/>
            <property name="authenticationSuccessHandler" ref="successRedirectHandler"/>
            <property name="authenticationFailureHandler" ref="failureRedirectHandler"/>
        </bean>

        <!-- Logout handler terminating local session -->
        <bean id="logoutHandler"
              class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler">
            <property name="invalidateHttpSession" value="false"/>
        </bean>

        <!-- Override default logout processing filter with the one processing SAML messages -->
        <bean id="samlLogoutFilter" class="org.springframework.security.saml.SAMLLogoutFilter">
            <constructor-arg index="0" ref="successLogoutHandler"/>
            <constructor-arg index="1" ref="logoutHandler"/>
            <constructor-arg index="2" ref="logoutHandler"/>
        </bean>

        <!-- Filter processing incoming logout messages -->
        <!-- First argument determines URL user will be redirected to after successful global logout -->
        <bean id="samlLogoutProcessingFilter"
              class="org.springframework.security.saml.SAMLLogoutProcessingFilter">
            <constructor-arg index="0" ref="successLogoutHandler"/>
            <constructor-arg index="1" ref="logoutHandler"/>
        </bean>

        <!-- Class loading incoming SAML messages from httpRequest stream -->
        <bean id="processor" class="org.springframework.security.saml.processor.SAMLProcessorImpl">
            <constructor-arg>
                <list>
                    <ref bean="redirectBinding"/>
                    <ref bean="postBinding"/>
                    <ref bean="artifactBinding"/>
                    <ref bean="soapBinding"/>
                    <ref bean="paosBinding"/>
                </list>
            </constructor-arg>
        </bean>

        <!-- SAML 2.0 WebSSO Assertion Consumer -->
        <bean id="webSSOprofileConsumer"
              class="org.springframework.security.saml.websso.WebSSOProfileConsumerImpl">
            <property name="responseSkew" value="600"/> <!-- 10 minutes -->
        </bean>

        <!-- SAML 2.0 Holder-of-Key WebSSO Assertion Consumer -->
        <bean id="hokWebSSOprofileConsumer"
              class="org.springframework.security.saml.websso.WebSSOProfileConsumerHoKImpl"/>

        <!-- SAML 2.0 Web SSO profile -->
        <bean id="webSSOprofile"
              class="org.springframework.security.saml.websso.WebSSOProfileImpl"/>

        <!-- SAML 2.0 Holder-of-Key Web SSO profile -->
        <bean id="hokWebSSOProfile"
              class="org.springframework.security.saml.websso.WebSSOProfileConsumerHoKImpl"/>

        <!-- SAML 2.0 ECP profile -->
        <bean id="ecpprofile"
              class="org.springframework.security.saml.websso.WebSSOProfileECPImpl"/>

        <!-- SAML 2.0 Logout Profile -->
        <bean id="logoutprofile"
              class="org.springframework.security.saml.websso.SingleLogoutProfileImpl">
            <property name="responseSkew" value="600"/> <!-- 10 minutes -->
        </bean>

        <!-- Bindings, encoders and decoders used for creating and parsing messages -->
        <bean id="postBinding" class="org.springframework.security.saml.processor.HTTPPostBinding">
            <constructor-arg ref="parserPool"/>
            <constructor-arg ref="velocityEngine"/>
        </bean>

        <bean id="redirectBinding"
              class="org.springframework.security.saml.processor.HTTPRedirectDeflateBinding">
            <constructor-arg ref="parserPool"/>
        </bean>

        <bean id="artifactBinding"
              class="org.springframework.security.saml.processor.HTTPArtifactBinding">
            <constructor-arg ref="parserPool"/>
            <constructor-arg ref="velocityEngine"/>
            <constructor-arg>
                <bean class="org.springframework.security.saml.websso.ArtifactResolutionProfileImpl">
                    <constructor-arg>
                        <bean class="org.apache.commons.httpclient.HttpClient">
                            <constructor-arg>
                                <bean class="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager"/>
                            </constructor-arg>
                        </bean>
                    </constructor-arg>
                    <property name="processor">
                        <bean class="org.springframework.security.saml.processor.SAMLProcessorImpl">
                            <constructor-arg ref="soapBinding"/>
                        </bean>
                    </property>
                </bean>
            </constructor-arg>
        </bean>

        <bean id="soapBinding"
              class="org.springframework.security.saml.processor.HTTPSOAP11Binding">
            <constructor-arg ref="parserPool"/>
        </bean>

        <bean id="paosBinding"
              class="org.springframework.security.saml.processor.HTTPPAOS11Binding">
            <constructor-arg ref="parserPool"/>
        </bean>

        <!-- Initialization of OpenSAML library-->
        <bean class="org.springframework.security.saml.SAMLBootstrap"/>

        <!-- Initialization of the velocity engine -->
        <bean id="velocityEngine" class="org.springframework.security.saml.util.VelocityFactory"
              factory-method="getEngine"/>

        <!-- XML parser pool needed for OpenSAML parsing -->
        <bean id="parserPool" class="org.opensaml.xml.parse.StaticBasicParserPool"
              init-method="initialize">
            <property name="builderFeatures">
                <map>
                    <entry key="http://apache.org/xml/features/dom/defer-node-expansion"
                           value="false"/>
                </map>
            </property>
        </bean>

        <bean id="parserPoolHolder"
              class="org.springframework.security.saml.parser.ParserPoolHolder"/>
    </beans>
</beans>
