authserver/casserver/simple-cas4-overlay-template/src/main/webapp/WEB-INF/cas-servlet.xml
changeset 8 5a0cbbe0922a
equal deleted inserted replaced
7:1a3fa80225b2 8:5a0cbbe0922a
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <!--
       
     3 
       
     4     Licensed to Jasig under one or more contributor license
       
     5     agreements. See the NOTICE file distributed with this work
       
     6     for additional information regarding copyright ownership.
       
     7     Jasig licenses this file to you under the Apache License,
       
     8     Version 2.0 (the "License"); you may not use this file
       
     9     except in compliance with the License.  You may obtain a
       
    10     copy of the License at the following location:
       
    11 
       
    12       http://www.apache.org/licenses/LICENSE-2.0
       
    13 
       
    14     Unless required by applicable law or agreed to in writing,
       
    15     software distributed under the License is distributed on an
       
    16     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
       
    17     KIND, either express or implied.  See the License for the
       
    18     specific language governing permissions and limitations
       
    19     under the License.
       
    20 
       
    21 -->
       
    22 <beans xmlns="http://www.springframework.org/schema/beans"
       
    23        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       
    24        xmlns:webflow="http://www.springframework.org/schema/webflow-config"
       
    25        xmlns:p="http://www.springframework.org/schema/p"
       
    26        xmlns:c="http://www.springframework.org/schema/c"
       
    27        xmlns:util="http://www.springframework.org/schema/util"
       
    28        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       
    29        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
       
    30        http://www.springframework.org/schema/webflow-config http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.3.xsd">
       
    31 
       
    32   <import resource="spring-configuration/propertyFileConfigurer.xml"/>
       
    33 
       
    34   <!-- Theme Resolver -->
       
    35   <bean id="themeResolver" class="org.jasig.cas.services.web.ServiceThemeResolver"
       
    36         p:defaultThemeName="${cas.themeResolver.defaultThemeName}"
       
    37         p:argumentExtractors-ref="argumentExtractors"
       
    38         p:servicesManager-ref="servicesManager">
       
    39     <property name="mobileBrowsers">
       
    40       <util:map>
       
    41         <entry key=".*iPhone.*" value="iphone"/>
       
    42         <entry key=".*Android.*" value="iphone"/>
       
    43         <entry key=".*Safari.*Pre.*" value="iphone"/>
       
    44         <entry key=".*Nokia.*AppleWebKit.*" value="iphone"/>
       
    45       </util:map>
       
    46     </property>
       
    47   </bean>
       
    48 
       
    49   <!-- View Resolver -->
       
    50   <bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"
       
    51         p:order="0">
       
    52     <property name="basenames">
       
    53       <util:list>
       
    54         <value>${cas.viewResolver.basename}</value>
       
    55         <value>protocol_views</value>
       
    56       </util:list>
       
    57     </property>
       
    58   </bean>
       
    59 
       
    60   <!-- Locale Resolver -->
       
    61   <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" p:defaultLocale="en" />
       
    62 
       
    63   <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
       
    64 
       
    65   <bean id="urlBasedViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"
       
    66         p:viewClass="org.springframework.web.servlet.view.InternalResourceView"
       
    67         p:prefix="/WEB-INF/view/jsp/"
       
    68         p:suffix=".jsp"
       
    69         p:order="1"/>
       
    70 
       
    71   <bean id="errorHandlerResolver" class="org.jasig.cas.web.FlowExecutionExceptionResolver"/>
       
    72 
       
    73   <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
       
    74 
       
    75   <bean
       
    76       id="handlerMappingC"
       
    77       class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
       
    78       p:alwaysUseFullPath="true">
       
    79     <property name="mappings">
       
    80       <util:properties>
       
    81         <prop key="/serviceValidate">serviceValidateController</prop>
       
    82         <prop key="/proxyValidate">proxyValidateController</prop>
       
    83 
       
    84         <prop key="/p3/serviceValidate">v3ServiceValidateController</prop>
       
    85         <prop key="/p3/proxyValidate">v3ProxyValidateController</prop>
       
    86 
       
    87         <prop key="/validate">legacyValidateController</prop>
       
    88         <prop key="/proxy">proxyController</prop>
       
    89         <prop key="/authorizationFailure.html">passThroughController</prop>
       
    90         <prop key="/status">healthCheckController</prop>
       
    91         <prop key="/statistics">statisticsController</prop>
       
    92       </util:properties>
       
    93     </property>
       
    94     <!--
       
    95      uncomment this to enable sending PageRequest events.
       
    96      <property
       
    97        name="interceptors">
       
    98        <list>
       
    99          <ref bean="pageRequestHandlerInterceptorAdapter" />
       
   100        </list>
       
   101      </property>
       
   102       -->
       
   103   </bean>
       
   104 
       
   105   <bean id="passThroughController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
       
   106 
       
   107   <!-- login webflow configuration -->
       
   108   <bean id="loginFlowHandlerMapping" class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping"
       
   109         p:flowRegistry-ref="loginFlowRegistry" p:order="2">
       
   110     <property name="interceptors">
       
   111       <ref local="localeChangeInterceptor" />
       
   112     </property>
       
   113   </bean>
       
   114 
       
   115   <bean id="loginHandlerAdapter" class="org.jasig.cas.web.flow.SelectiveFlowHandlerAdapter"
       
   116         p:supportedFlowId="login" p:flowExecutor-ref="loginFlowExecutor" p:flowUrlHandler-ref="loginFlowUrlHandler" />
       
   117 
       
   118   <bean id="loginFlowUrlHandler" class="org.jasig.cas.web.flow.CasDefaultFlowUrlHandler" />
       
   119 
       
   120   <webflow:flow-executor id="loginFlowExecutor" flow-registry="loginFlowRegistry">
       
   121     <webflow:flow-execution-attributes>
       
   122       <webflow:always-redirect-on-pause value="false" />
       
   123       <webflow:redirect-in-same-state value="false" />
       
   124     </webflow:flow-execution-attributes>
       
   125     <webflow:flow-execution-listeners>
       
   126       <webflow:listener ref="terminateWebSessionListener" />
       
   127     </webflow:flow-execution-listeners>
       
   128   </webflow:flow-executor>
       
   129 
       
   130   <webflow:flow-registry id="loginFlowRegistry" flow-builder-services="builder">
       
   131     <webflow:flow-location path="/WEB-INF/login-webflow.xml" id="login" />
       
   132   </webflow:flow-registry>
       
   133 
       
   134   <!-- logout webflow configuration -->
       
   135   <bean id="logoutFlowHandlerMapping" class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping"
       
   136         p:flowRegistry-ref="logoutFlowRegistry" p:order="3">
       
   137     <property name="interceptors">
       
   138       <ref local="localeChangeInterceptor" />
       
   139     </property>
       
   140   </bean>
       
   141 
       
   142   <bean id="logoutHandlerAdapter" class="org.jasig.cas.web.flow.SelectiveFlowHandlerAdapter"
       
   143         p:supportedFlowId="logout" p:flowExecutor-ref="logoutFlowExecutor" p:flowUrlHandler-ref="logoutFlowUrlHandler" />
       
   144 
       
   145   <bean id="logoutFlowUrlHandler" class="org.jasig.cas.web.flow.CasDefaultFlowUrlHandler"
       
   146         p:flowExecutionKeyParameter="RelayState" />
       
   147 
       
   148   <webflow:flow-executor id="logoutFlowExecutor" flow-registry="logoutFlowRegistry">
       
   149     <webflow:flow-execution-attributes>
       
   150       <webflow:always-redirect-on-pause value="false" />
       
   151       <webflow:redirect-in-same-state value="false" />
       
   152     </webflow:flow-execution-attributes>
       
   153     <webflow:flow-execution-listeners>
       
   154       <webflow:listener ref="terminateWebSessionListener" />
       
   155     </webflow:flow-execution-listeners>
       
   156   </webflow:flow-executor>
       
   157 
       
   158   <webflow:flow-registry id="logoutFlowRegistry" flow-builder-services="builder">
       
   159     <webflow:flow-location path="/WEB-INF/logout-webflow.xml" id="logout" />
       
   160   </webflow:flow-registry>
       
   161 
       
   162   <webflow:flow-builder-services id="builder" view-factory-creator="viewFactoryCreator" expression-parser="expressionParser" />
       
   163 
       
   164   <bean id="logoutConversionService" class="org.jasig.cas.web.flow.LogoutConversionService" />
       
   165 
       
   166   <bean id="terminateWebSessionListener" class="org.jasig.cas.web.flow.TerminateWebSessionListener" />
       
   167 
       
   168   <bean id="expressionParser" class="org.springframework.webflow.expression.spel.WebFlowSpringELExpressionParser"
       
   169         c:conversionService-ref="logoutConversionService">
       
   170     <constructor-arg>
       
   171         <bean class="org.springframework.expression.spel.standard.SpelExpressionParser" />
       
   172     </constructor-arg>
       
   173   </bean>
       
   174 
       
   175   <bean id="viewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
       
   176     <property name="viewResolvers">
       
   177       <util:list>
       
   178         <ref local="viewResolver"/>
       
   179       </util:list>
       
   180     </property>
       
   181   </bean>
       
   182 
       
   183   <!--  CAS 2 Protocol service/proxy validation -->
       
   184   <bean id="abstractValidateController" class="org.jasig.cas.web.ServiceValidateController" abstract="true"
       
   185         p:centralAuthenticationService-ref="centralAuthenticationService"
       
   186         p:proxyHandler-ref="proxy20Handler"
       
   187         p:argumentExtractor-ref="casArgumentExtractor"/>
       
   188 
       
   189   <bean id="proxyValidateController" parent="abstractValidateController" />
       
   190 
       
   191   <bean id="serviceValidateController" parent="abstractValidateController"
       
   192         p:validationSpecificationClass="org.jasig.cas.validation.Cas20ProtocolValidationSpecification"/>
       
   193 
       
   194   <!--  CAS 3 Protocol service/proxy validation with attributes -->
       
   195   <bean id="v3AbstractValidateController" parent="abstractValidateController" abstract="true"
       
   196         p:successView="cas3ServiceSuccessView"
       
   197         p:failureView="cas3ServiceFailureView" />
       
   198 
       
   199   <bean id="v3ProxyValidateController" parent="v3AbstractValidateController" />
       
   200 
       
   201   <bean id="v3ServiceValidateController" parent="v3AbstractValidateController"
       
   202         p:validationSpecificationClass="org.jasig.cas.validation.Cas20ProtocolValidationSpecification"/>
       
   203 
       
   204   <!--  CAS 1 legacy validation -->
       
   205   <bean id="legacyValidateController" parent="abstractValidateController"
       
   206         p:proxyHandler-ref="proxy10Handler"
       
   207         p:successView="cas1ServiceSuccessView"
       
   208         p:failureView="cas1ServiceFailureView"
       
   209         p:validationSpecificationClass="org.jasig.cas.validation.Cas10ProtocolValidationSpecification"/>
       
   210 
       
   211   <bean id="proxyController" class="org.jasig.cas.web.ProxyController"
       
   212         p:centralAuthenticationService-ref="centralAuthenticationService"/>
       
   213 
       
   214   <bean id="statisticsController" class="org.jasig.cas.web.StatisticsController"
       
   215         p:casTicketSuffix="${host.name}" c:ticketRegistry-ref="ticketRegistry" />
       
   216 
       
   217   <bean id="logoutAction" class="org.jasig.cas.web.flow.LogoutAction"
       
   218         p:servicesManager-ref="servicesManager"
       
   219         p:followServiceRedirects="${cas.logout.followServiceRedirects:false}"/>
       
   220 
       
   221   <bean id="frontChannelLogoutAction" class="org.jasig.cas.web.flow.FrontChannelLogoutAction"
       
   222         c:logoutManager-ref="logoutManager"/>
       
   223 
       
   224   <bean id="healthCheckController" class="org.jasig.cas.web.HealthCheckController"
       
   225         p:healthCheckMonitor-ref="healthCheckMonitor"/>
       
   226 
       
   227   <bean id="initialFlowSetupAction" class="org.jasig.cas.web.flow.InitialFlowSetupAction"
       
   228         p:argumentExtractors-ref="argumentExtractors"
       
   229         p:warnCookieGenerator-ref="warnCookieGenerator"
       
   230         p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"/>
       
   231 
       
   232   <bean id="authenticationViaFormAction" class="org.jasig.cas.web.flow.AuthenticationViaFormAction"
       
   233         p:centralAuthenticationService-ref="centralAuthenticationService"
       
   234         p:warnCookieGenerator-ref="warnCookieGenerator"
       
   235         p:ticketRegistry-ref="ticketRegistry"/>
       
   236 
       
   237   <bean id="authenticationExceptionHandler" class="org.jasig.cas.web.flow.AuthenticationExceptionHandler" />
       
   238 
       
   239   <bean id="generateServiceTicketAction" class="org.jasig.cas.web.flow.GenerateServiceTicketAction"
       
   240         p:centralAuthenticationService-ref="centralAuthenticationService"/>
       
   241 
       
   242   <bean id="sendTicketGrantingTicketAction" class="org.jasig.cas.web.flow.SendTicketGrantingTicketAction"
       
   243         p:centralAuthenticationService-ref="centralAuthenticationService"
       
   244         p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"/>
       
   245 
       
   246   <bean id="gatewayServicesManagementCheck" class="org.jasig.cas.web.flow.GatewayServicesManagementCheck"
       
   247     c:servicesManager-ref="servicesManager" />
       
   248 
       
   249   <bean id="serviceAuthorizationCheck" class="org.jasig.cas.web.flow.ServiceAuthorizationCheck"
       
   250     c:servicesManager-ref="servicesManager" />
       
   251 
       
   252   <bean id="generateLoginTicketAction" class="org.jasig.cas.web.flow.GenerateLoginTicketAction"
       
   253         p:ticketIdGenerator-ref="loginTicketUniqueIdGenerator"/>
       
   254 
       
   255   <bean id="messageInterpolator" class="org.jasig.cas.util.SpringAwareMessageMessageInterpolator"/>
       
   256 
       
   257   <bean id="credentialsValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"
       
   258         p:messageInterpolator-ref="messageInterpolator"/>
       
   259 
       
   260   <bean id="ticketGrantingTicketCheckAction" class="org.jasig.cas.web.flow.TicketGrantingTicketCheckAction"
       
   261         c:registry-ref="ticketRegistry" />
       
   262 
       
   263   <bean id="terminateSessionAction" class="org.jasig.cas.web.flow.TerminateSessionAction"
       
   264         c:cas-ref="centralAuthenticationService"
       
   265         c:tgtCookieGenerator-ref="ticketGrantingTicketCookieGenerator"
       
   266         c:warnCookieGenerator-ref="warnCookieGenerator"/>
       
   267 </beans>