authserver/casserver/simple-cas4-overlay-template/src/main/webapp/WEB-INF/cas-servlet.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/authserver/casserver/simple-cas4-overlay-template/src/main/webapp/WEB-INF/cas-servlet.xml Wed May 27 15:34:06 2015 +0200
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to Jasig under one or more contributor license
+ agreements. See the NOTICE file distributed with this work
+ for additional information regarding copyright ownership.
+ Jasig licenses this file to you 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 the following location:
+
+ 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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:webflow="http://www.springframework.org/schema/webflow-config"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/webflow-config http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.3.xsd">
+
+ <import resource="spring-configuration/propertyFileConfigurer.xml"/>
+
+ <!-- Theme Resolver -->
+ <bean id="themeResolver" class="org.jasig.cas.services.web.ServiceThemeResolver"
+ p:defaultThemeName="${cas.themeResolver.defaultThemeName}"
+ p:argumentExtractors-ref="argumentExtractors"
+ p:servicesManager-ref="servicesManager">
+ <property name="mobileBrowsers">
+ <util:map>
+ <entry key=".*iPhone.*" value="iphone"/>
+ <entry key=".*Android.*" value="iphone"/>
+ <entry key=".*Safari.*Pre.*" value="iphone"/>
+ <entry key=".*Nokia.*AppleWebKit.*" value="iphone"/>
+ </util:map>
+ </property>
+ </bean>
+
+ <!-- View Resolver -->
+ <bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"
+ p:order="0">
+ <property name="basenames">
+ <util:list>
+ <value>${cas.viewResolver.basename}</value>
+ <value>protocol_views</value>
+ </util:list>
+ </property>
+ </bean>
+
+ <!-- Locale Resolver -->
+ <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" p:defaultLocale="en" />
+
+ <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
+
+ <bean id="urlBasedViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"
+ p:viewClass="org.springframework.web.servlet.view.InternalResourceView"
+ p:prefix="/WEB-INF/view/jsp/"
+ p:suffix=".jsp"
+ p:order="1"/>
+
+ <bean id="errorHandlerResolver" class="org.jasig.cas.web.FlowExecutionExceptionResolver"/>
+
+ <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
+
+ <bean
+ id="handlerMappingC"
+ class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
+ p:alwaysUseFullPath="true">
+ <property name="mappings">
+ <util:properties>
+ <prop key="/serviceValidate">serviceValidateController</prop>
+ <prop key="/proxyValidate">proxyValidateController</prop>
+
+ <prop key="/p3/serviceValidate">v3ServiceValidateController</prop>
+ <prop key="/p3/proxyValidate">v3ProxyValidateController</prop>
+
+ <prop key="/validate">legacyValidateController</prop>
+ <prop key="/proxy">proxyController</prop>
+ <prop key="/authorizationFailure.html">passThroughController</prop>
+ <prop key="/status">healthCheckController</prop>
+ <prop key="/statistics">statisticsController</prop>
+ </util:properties>
+ </property>
+ <!--
+ uncomment this to enable sending PageRequest events.
+ <property
+ name="interceptors">
+ <list>
+ <ref bean="pageRequestHandlerInterceptorAdapter" />
+ </list>
+ </property>
+ -->
+ </bean>
+
+ <bean id="passThroughController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
+
+ <!-- login webflow configuration -->
+ <bean id="loginFlowHandlerMapping" class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping"
+ p:flowRegistry-ref="loginFlowRegistry" p:order="2">
+ <property name="interceptors">
+ <ref local="localeChangeInterceptor" />
+ </property>
+ </bean>
+
+ <bean id="loginHandlerAdapter" class="org.jasig.cas.web.flow.SelectiveFlowHandlerAdapter"
+ p:supportedFlowId="login" p:flowExecutor-ref="loginFlowExecutor" p:flowUrlHandler-ref="loginFlowUrlHandler" />
+
+ <bean id="loginFlowUrlHandler" class="org.jasig.cas.web.flow.CasDefaultFlowUrlHandler" />
+
+ <webflow:flow-executor id="loginFlowExecutor" flow-registry="loginFlowRegistry">
+ <webflow:flow-execution-attributes>
+ <webflow:always-redirect-on-pause value="false" />
+ <webflow:redirect-in-same-state value="false" />
+ </webflow:flow-execution-attributes>
+ <webflow:flow-execution-listeners>
+ <webflow:listener ref="terminateWebSessionListener" />
+ </webflow:flow-execution-listeners>
+ </webflow:flow-executor>
+
+ <webflow:flow-registry id="loginFlowRegistry" flow-builder-services="builder">
+ <webflow:flow-location path="/WEB-INF/login-webflow.xml" id="login" />
+ </webflow:flow-registry>
+
+ <!-- logout webflow configuration -->
+ <bean id="logoutFlowHandlerMapping" class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping"
+ p:flowRegistry-ref="logoutFlowRegistry" p:order="3">
+ <property name="interceptors">
+ <ref local="localeChangeInterceptor" />
+ </property>
+ </bean>
+
+ <bean id="logoutHandlerAdapter" class="org.jasig.cas.web.flow.SelectiveFlowHandlerAdapter"
+ p:supportedFlowId="logout" p:flowExecutor-ref="logoutFlowExecutor" p:flowUrlHandler-ref="logoutFlowUrlHandler" />
+
+ <bean id="logoutFlowUrlHandler" class="org.jasig.cas.web.flow.CasDefaultFlowUrlHandler"
+ p:flowExecutionKeyParameter="RelayState" />
+
+ <webflow:flow-executor id="logoutFlowExecutor" flow-registry="logoutFlowRegistry">
+ <webflow:flow-execution-attributes>
+ <webflow:always-redirect-on-pause value="false" />
+ <webflow:redirect-in-same-state value="false" />
+ </webflow:flow-execution-attributes>
+ <webflow:flow-execution-listeners>
+ <webflow:listener ref="terminateWebSessionListener" />
+ </webflow:flow-execution-listeners>
+ </webflow:flow-executor>
+
+ <webflow:flow-registry id="logoutFlowRegistry" flow-builder-services="builder">
+ <webflow:flow-location path="/WEB-INF/logout-webflow.xml" id="logout" />
+ </webflow:flow-registry>
+
+ <webflow:flow-builder-services id="builder" view-factory-creator="viewFactoryCreator" expression-parser="expressionParser" />
+
+ <bean id="logoutConversionService" class="org.jasig.cas.web.flow.LogoutConversionService" />
+
+ <bean id="terminateWebSessionListener" class="org.jasig.cas.web.flow.TerminateWebSessionListener" />
+
+ <bean id="expressionParser" class="org.springframework.webflow.expression.spel.WebFlowSpringELExpressionParser"
+ c:conversionService-ref="logoutConversionService">
+ <constructor-arg>
+ <bean class="org.springframework.expression.spel.standard.SpelExpressionParser" />
+ </constructor-arg>
+ </bean>
+
+ <bean id="viewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
+ <property name="viewResolvers">
+ <util:list>
+ <ref local="viewResolver"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!-- CAS 2 Protocol service/proxy validation -->
+ <bean id="abstractValidateController" class="org.jasig.cas.web.ServiceValidateController" abstract="true"
+ p:centralAuthenticationService-ref="centralAuthenticationService"
+ p:proxyHandler-ref="proxy20Handler"
+ p:argumentExtractor-ref="casArgumentExtractor"/>
+
+ <bean id="proxyValidateController" parent="abstractValidateController" />
+
+ <bean id="serviceValidateController" parent="abstractValidateController"
+ p:validationSpecificationClass="org.jasig.cas.validation.Cas20ProtocolValidationSpecification"/>
+
+ <!-- CAS 3 Protocol service/proxy validation with attributes -->
+ <bean id="v3AbstractValidateController" parent="abstractValidateController" abstract="true"
+ p:successView="cas3ServiceSuccessView"
+ p:failureView="cas3ServiceFailureView" />
+
+ <bean id="v3ProxyValidateController" parent="v3AbstractValidateController" />
+
+ <bean id="v3ServiceValidateController" parent="v3AbstractValidateController"
+ p:validationSpecificationClass="org.jasig.cas.validation.Cas20ProtocolValidationSpecification"/>
+
+ <!-- CAS 1 legacy validation -->
+ <bean id="legacyValidateController" parent="abstractValidateController"
+ p:proxyHandler-ref="proxy10Handler"
+ p:successView="cas1ServiceSuccessView"
+ p:failureView="cas1ServiceFailureView"
+ p:validationSpecificationClass="org.jasig.cas.validation.Cas10ProtocolValidationSpecification"/>
+
+ <bean id="proxyController" class="org.jasig.cas.web.ProxyController"
+ p:centralAuthenticationService-ref="centralAuthenticationService"/>
+
+ <bean id="statisticsController" class="org.jasig.cas.web.StatisticsController"
+ p:casTicketSuffix="${host.name}" c:ticketRegistry-ref="ticketRegistry" />
+
+ <bean id="logoutAction" class="org.jasig.cas.web.flow.LogoutAction"
+ p:servicesManager-ref="servicesManager"
+ p:followServiceRedirects="${cas.logout.followServiceRedirects:false}"/>
+
+ <bean id="frontChannelLogoutAction" class="org.jasig.cas.web.flow.FrontChannelLogoutAction"
+ c:logoutManager-ref="logoutManager"/>
+
+ <bean id="healthCheckController" class="org.jasig.cas.web.HealthCheckController"
+ p:healthCheckMonitor-ref="healthCheckMonitor"/>
+
+ <bean id="initialFlowSetupAction" class="org.jasig.cas.web.flow.InitialFlowSetupAction"
+ p:argumentExtractors-ref="argumentExtractors"
+ p:warnCookieGenerator-ref="warnCookieGenerator"
+ p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"/>
+
+ <bean id="authenticationViaFormAction" class="org.jasig.cas.web.flow.AuthenticationViaFormAction"
+ p:centralAuthenticationService-ref="centralAuthenticationService"
+ p:warnCookieGenerator-ref="warnCookieGenerator"
+ p:ticketRegistry-ref="ticketRegistry"/>
+
+ <bean id="authenticationExceptionHandler" class="org.jasig.cas.web.flow.AuthenticationExceptionHandler" />
+
+ <bean id="generateServiceTicketAction" class="org.jasig.cas.web.flow.GenerateServiceTicketAction"
+ p:centralAuthenticationService-ref="centralAuthenticationService"/>
+
+ <bean id="sendTicketGrantingTicketAction" class="org.jasig.cas.web.flow.SendTicketGrantingTicketAction"
+ p:centralAuthenticationService-ref="centralAuthenticationService"
+ p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"/>
+
+ <bean id="gatewayServicesManagementCheck" class="org.jasig.cas.web.flow.GatewayServicesManagementCheck"
+ c:servicesManager-ref="servicesManager" />
+
+ <bean id="serviceAuthorizationCheck" class="org.jasig.cas.web.flow.ServiceAuthorizationCheck"
+ c:servicesManager-ref="servicesManager" />
+
+ <bean id="generateLoginTicketAction" class="org.jasig.cas.web.flow.GenerateLoginTicketAction"
+ p:ticketIdGenerator-ref="loginTicketUniqueIdGenerator"/>
+
+ <bean id="messageInterpolator" class="org.jasig.cas.util.SpringAwareMessageMessageInterpolator"/>
+
+ <bean id="credentialsValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"
+ p:messageInterpolator-ref="messageInterpolator"/>
+
+ <bean id="ticketGrantingTicketCheckAction" class="org.jasig.cas.web.flow.TicketGrantingTicketCheckAction"
+ c:registry-ref="ticketRegistry" />
+
+ <bean id="terminateSessionAction" class="org.jasig.cas.web.flow.TerminateSessionAction"
+ c:cas-ref="centralAuthenticationService"
+ c:tgtCookieGenerator-ref="ticketGrantingTicketCookieGenerator"
+ c:warnCookieGenerator-ref="warnCookieGenerator"/>
+</beans>