| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?xml version="1.0" encoding="UTF-8"?>
- <flow xmlns="http://www.springframework.org/schema/webflow"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://www.springframework.org/schema/webflow
- http://www.springframework.org/schema/webflow/spring-webflow-1.0.xsd">
- <start-state idref="automaticCookiePathSetter" />
- <action-state id="automaticCookiePathSetter">
- <action bean="automaticCookiePathSetterAction" />
- <transition on="success"
- to="ticketGrantingTicketExistsCheckAction" />
- </action-state>
- <action-state id="ticketGrantingTicketExistsCheckAction">
- <action bean="ticketGrantingTicketExistsAction" />
- <transition on="ticketGrantingTicketExists"
- to="hasServiceCheck" />
- <transition on="noTicketGrantingTicketExists"
- to="gatewayRequestCheck" />
- </action-state>
- <action-state id="gatewayRequestCheck">
- <action bean="gatewayRequestCheckAction" />
- <transition on="gateway" to="redirect" />
- <transition on="authenticationRequired" to="viewLoginForm" />
- </action-state>
- <action-state id="hasServiceCheck">
- <action bean="hasServiceCheckAction" />
- <transition on="authenticatedButNoService"
- to="viewGenericLoginSuccess" />
- <transition on="hasService" to="renewRequestCheck" />
- </action-state>
- <action-state id="renewRequestCheck">
- <action bean="renewRequestCheckAction" />
- <transition on="authenticationRequired" to="viewLoginForm" />
- <transition on="generateServiceTicket"
- to="generateServiceTicket" />
- </action-state>
- <!--
- <action-state id="startAuthenticate">
- <action bean="x509Check" />
- <transition on="success" to="sendTicketGrantingTicket" />
- <transition on="error" to="viewLoginForm" />
- </action-state>
- -->
- <view-state id="viewLoginForm" view="casLoginView">
- <transition on="submit" to="bindAndValidate" />
- </view-state>
- <action-state id="bindAndValidate">
- <action bean="authenticationViaFormAction" />
- <transition on="success" to="submit" />
- <transition on="error" to="viewLoginForm" />
- </action-state>
- <action-state id="submit">
- <action bean="authenticationViaFormAction" method="submit" />
- <transition on="warn" to="warn" />
- <transition on="success" to="sendTicketGrantingTicket" />
- <transition on="error" to="viewLoginForm" />
- </action-state>
- <action-state id="sendTicketGrantingTicket">
- <action bean="sendTicketGrantingTicketAction" />
- <transition on="success" to="serviceCheck" />
- </action-state>
- <action-state id="serviceCheck">
- <action bean="hasServiceCheckAction" />
- <transition on="authenticatedButNoService"
- to="viewGenericLoginSuccess" />
- <transition on="hasService" to="generateServiceTicket" />
- </action-state>
- <action-state id="generateServiceTicket">
- <action bean="generateServiceTicketAction" />
- <transition on="success" to="warn" />
- <transition on="error" to="viewLoginForm" />
- <transition on="gateway" to="redirect" />
- </action-state>
- <!--
- The "warn" action makes the determination of whether to redirect directly to the requested
- service or display the "confirmation" page to go back to the server.
- -->
- <action-state id="warn">
- <action bean="warnAction" />
- <transition on="redirect" to="redirect" />
- <transition on="warn" to="showWarningView" />
- </action-state>
- <!--
- the "viewGenericLogin" is the end state for when a user attempts to login without coming directly from a service.
- They have only initialized their single-sign on session.
- -->
- <end-state id="viewGenericLoginSuccess"
- view="casLoginGenericSuccessView" />
- <!--
- The "showWarningView" end state is the end state for when the user has requested privacy settings (to be "warned") to be turned on. It delegates to a
- view defines in default_views.properties that display the "Please click here to go to the service." message.
- -->
- <end-state id="showWarningView" view="casLoginConfirmView" />
- <!--
- The "redirect" end state allows CAS to properly end the workflow while still redirecting
- the user back to the service required.
- -->
- <end-state id="redirect"
- view="externalRedirect:${externalContext.requestParameterMap['service']}${requestScope.ticket == null ? '' : (externalContext.requestParameterMap['service'].indexOf('?') != -1 ? '&' : '?') + 'ticket=' + requestScope.ticket}" />
-
- <global-transitions>
- <transition to="viewServiceErrorView"
- on-exception="org.jasig.cas.services.UnauthorizedServiceException" />
- </global-transitions>
- </flow>
|