Hi,
We implemented the password expiration. It works almost, but we still have one
problem.
We have 4 different states (calculated from a pwLastChanged value in LDAP)
- activate
- active
- changepwd (i.e. warning 1 month before expiration date)
- locked (password expired)
In the changepwd state, we let the user choose between changing password right
now, and redirect to an external page, or proceed without changing the password.
If we choose proceed, we get a ticketGrantingTicket cannot be null error.
The strange thing is that if we remove the page where the user can choose, and
automatically go to the proceed state, there is no problem(= the active state)
The cas.log is attached below.
The login-webflow.xml is edited as followed:
<action-state id="submit">
<action bean="authenticationViaFormAction" method="submit" />
<transition on="warn" to="warn" />
<transition on="success" to="expiryCheck" />
<transition on="error" to="viewLoginForm" />
</action-state>
<action-state id="expiryCheck">
<action bean="accountStatusAction" />
<transition on="activate" to="activate" />
<transition on="active" to="sendTicketGrantingTicket" />
<transition on="blocked" to="blocked" />
<transition on="changepwd" to="viewChangepwdForm" />
<transition on="error" to="errorst" />
<transition on="locked" to="locked" />
</action-state>
<view-state id="activate" view="casActivateView">
<transition on="redirect" to="externalredirect" />
</view-state>
<view-state id="viewChangepwdForm" view="casChangepwdView">
<render-actions>
<action bean="chooseChangepwdViaFormAction" method="referenceData"/>
</render-actions>
<transition on="redirect" to="externalredirect" />
<transition on="proceed" to="sendTicketGrantingTicket" />
</view-state>
<view-state id="locked" view="casLockedView">
<transition on="redirect" to="externalredirect" />
</view-state>
<view-state id="externalredirect"
view="externalRedirect:http://test.example.be/">
</view-state>
<end-state id="blocked" view="casBlockedView"/>
<end-state id="errorst" view="casBlockedView"/>
<action-state id="sendTicketGrantingTicket">
<action bean="sendTicketGrantingTicketAction" />
<transition on="success" to="serviceCheck" />
</action-state>
Any help would be appreciated!
Bart Ophelders
Johan Peeters
2009-03-23 16:37:45,615 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] - LDAP: starting
search for value='bart'with searchFilter 'cn=bart'
2009-03-23 16:37:45,617 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] - returning
searchcontrols: scope=2; return only attrID=description; timeout=1000;
maxNumberResults=10
2009-03-23 16:37:45,617 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] - 2 | description |
1000 | 10
2009-03-23 16:37:45,621 DEBUG
[org.springframework.ldap.core.support.AbstractContextSource] - Principal:
'cn=test,dc=test,dc=be'
2009-03-23 16:37:45,648 DEBUG
[org.springframework.ldap.core.support.AbstractContextSource] - Got Ldap
context on server 'ldap://test.example.be:389'
2009-03-23 16:37:45,655 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] - LDAP: trying to
map attribute 'description' from result.
2009-03-23 16:37:45,656 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] - LDAP: found 1
attributes as result, starting to resolve...
2009-03-23 16:37:45,656 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] - LDAP: found
attribute in result, value='2008-03-25'
2009-03-23 16:37:45,656 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] -
LdapResult='2008-03-25'
2009-03-23 16:37:45,658 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] - Date of last
change='2008-3-25
2009-03-23 16:37:45,658 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] -
Currentdate='2009-3-23
2009-03-23 16:37:45,658 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] -
Expirationdate='2009-3-25
2009-03-23 16:37:45,658 DEBUG
[org.jasig.cas.web.support.ExtendedLdapAccountStatusGetter] -
Warningdate='2009-2-23
2009-03-23 16:37:45,658 DEBUG [org.jasig.cas.web.flow.AccountStatusAction] -
translating return code status='3'
2009-03-23 16:37:45,658 INFO [org.jasig.cas.web.flow.AccountStatusAction] -
'bart' needs to change password
2009-03-23 16:37:45,658 DEBUG [org.jasig.cas.web.flow.AccountStatusAction] -
--checking account status; result='changepwd'
2009-03-23 16:37:45,658 DEBUG [org.jasig.cas.web.flow.AccountStatusAction] -
Action 'AccountStatusAction' completed execution; result is 'changepwd'
2009-03-23 16:37:45,659 DEBUG
[org.springframework.webflow.engine.impl.RequestControlContextImpl] - Signaling
event 'changepwd' in state 'expiryCheck' of flow 'login-webflow'
2009-03-23 16:37:45,659 DEBUG [org.springframework.webflow.engine.Transition] -
Executing [transit...@6558bb on = [eventId = 'changepwd'], to =
viewChangepwdForm] out of state 'expiryCheck'
2009-03-23 16:37:45,659 DEBUG [org.springframework.webflow.engine.ViewState] -
Entering state 'viewChangepwdForm' of flow 'login-webflow'
2009-03-23 16:37:45,659 DEBUG
[org.springframework.webflow.engine.ActionExecutor] - Executing
[annotatedact...@1a49182 targetAction =
org.jasig.cas.web.flow.choosechangepwdviaformact...@14cf1b9, attributes =
map['method' -> 'referenceData']] in state 'viewChangepwdForm' of flow
'login-webflow'
2009-03-23 16:37:45,659 DEBUG
[org.jasig.cas.web.flow.ChooseChangepwdViaFormAction] - Action
'ChooseChangepwdViaFormAction' beginning execution
2009-03-23 16:37:45,659 DEBUG
[org.jasig.cas.web.flow.ChooseChangepwdViaFormAction] - Action
'ChooseChangepwdViaFormAction' completed execution; result is 'success'
2009-03-23 16:37:45,659 DEBUG [org.springframework.webflow.engine.Transition] -
Completed execution of [transit...@6558bb on = [eventId = 'changepwd'], to =
viewChangepwdForm], as a result the new state is 'viewChangepwdForm' in flow
'login-webflow'
2009-03-23 16:37:45,660 DEBUG [org.springframework.webflow.engine.Transition] -
Completed execution of [transit...@d50a6 on = [eventId = 'success'], to =
expiryCheck], as a result the new state is 'viewChangepwdForm' in flow
'login-webflow'
2009-03-23 16:37:45,660 DEBUG [org.springframework.webflow.engine.Transition] -
Completed execution of [transit...@ae8542 on = [eventId = 'success'], to =
submit], as a result the new state is 'viewChangepwdForm' in flow
'login-webflow'
2009-03-23 16:37:45,660 DEBUG [org.springframework.webflow.engine.Transition] -
Completed execution of [transit...@15978e7 on = [eventId = 'submit'], to =
bindAndValidate], as a result the new state is 'viewChangepwdForm' in flow
'login-webflow'
2009-03-23 16:37:45,660 DEBUG
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - Paused to render
'casChangepwdView' [[principal, service, commandName, credentials,
currentFormObject, warnCookieValue, ticketGrantingTicketId,
org.springframework.validation.BindException.currentFormObject,
org.springframework.validation.BindException.credentials]] and wait for user
input
2009-03-23 16:37:45,660 DEBUG
[org.springframework.webflow.execution.repository.continuation.ContinuationFlowExecutionRepository]
- Generated next key for flow execution '[flowexecutioni...@91cc3a flow =
'login-webflow', flowSessions = list[[flowsessioni...@1f713ed flow =
'login-webflow', state = 'viewChangepwdForm', scope = map['principal' ->bart,
'service' -> https://test.example.be/idp/Authn/RemoteUser, 'credentials' ->
[username: bart], 'currentFormObject' -> [username: bart], 'warnCookieValue' ->
false, 'ticketGrantingTicketId' -> [null]], flashMap =
map['org.springframework.validation.BindException.currentFormObject' ->
org.springframework.validation.BindException:
org.springframework.validation.BeanPropertyBindingResult: 0 errors,
'org.springframework.validation.BindException.credentials' ->
org.springframework.validation.BindException:
org.springframework.validation.BeanPropertyBindingResult: 0 errors], status =
Paused]]]':
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k37D02D2B-9371-2208-0354-8DDEED1709CB';
previous key was
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k41D399FD-D5D9-D6F8-6BE3-AD2DA47ACFC7'
2009-03-23 16:37:45,661 DEBUG
[org.springframework.webflow.execution.repository.continuation.ContinuationFlowExecutionRepository]
- Putting flow execution '[flowexecutioni...@91cc3a flow = 'login-webflow',
flowSessions = list[[flowsessioni...@1f713ed flow = 'login-webflow', state =
'viewChangepwdForm', scope = map['principal' -> bart, 'service' ->
https://test.example.be/idp/Authn/RemoteUser, 'credentials' -> [username:
bart], 'currentFormObject' -> [username: bart], 'warnCookieValue' -> false,
'ticketGrantingTicketId' -> [null]], flashMap =
map['org.springframework.validation.BindException.currentFormObject' ->
org.springframework.validation.BindException:
org.springframework.validation.BeanPropertyBindingResult: 0 errors,
'org.springframework.validation.BindException.credentials' ->
org.springframework.validation.BindException:
org.springframework.validation.BeanPropertyBindingResult: 0 errors], status =
Paused]]]' into repository with key
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k37D02D2B-9371-2208-0354-8DDEED1709CB'
2009-03-23 16:37:45,661 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Getting conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:45,702 DEBUG
[org.springframework.webflow.execution.repository.continuation.ContinuationFlowExecutionRepository]
- Adding new continuation to group with id 37D02D2B-9371-2208-0354-8DDEED1709CB
2009-03-23 16:37:45,702 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Getting conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:45,703 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Putting conversation attribute 'scope' with value map[[empty]]
2009-03-23 16:37:45,703 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Unlocking conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:45,703 DEBUG
[org.springframework.webflow.executor.support.FlowRequestHandler] - Returning
[resume] [responseinstruct...@a7d316 flowExecutionKey =
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k37D02D2B-9371-2208-0354-8DDEED1709CB',
viewSelection = 'casChangepwdView' [[principal, service, commandName,
credentials, currentFormObject, warnCookieValue, ticketGrantingTicketId,
org.springframework.validation.BindException.currentFormObject,
org.springframework.validation.BindException.credentials]],
flowExecutionContext = [flowexecutioni...@91cc3a flow = 'login-webflow',
flowSessions = list[[flowsessioni...@1f713ed flow = 'login-webflow', state =
'viewChangepwdForm', scope = map['principal' ->bart, 'service' ->
https://test.example.be/idp/Authn/RemoteUser, 'credentials' -> [username:
bart], 'currentFormObject' -> [username: bart], 'warnCookieValue' -> false,
'ticketGrantingTicketId' -> [null]], flashMap =
map['org.springframework.validation.BindException.currentFormObject' ->
org.springframework.validation.BindException:
org.springframework.validation.BeanPropertyBindingResult: 0 errors,
'org.springframework.validation.BindException.credentials' ->
org.springframework.validation.BindException:
org.springframework.validation.BeanPropertyBindingResult: 0 errors], status =
Paused]]]]
2009-03-23 16:37:45,704 DEBUG
[org.springframework.beans.factory.support.DefaultListableBeanFactory] -
Returning cached instance of singleton bean 'casChangepwdView'
2009-03-23 16:37:45,704 DEBUG
[org.springframework.web.servlet.DispatcherServlet] - Rendering view
[org.springframework.web.servlet.view.JstlView: name 'casChangepwdView'; URL
[/WEB-INF/view/jsp/default/ui/casChangepwdView.jsp]] in DispatcherServlet with
name 'cas'
2009-03-23 16:37:45,704 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'flowExecutionContext' of type
[org.springframework.webflow.engine.impl.FlowExecutionImpl] to request in view
with name 'casChangepwdView'
2009-03-23 16:37:45,704 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'principal' of type
[org.jasig.cas.authentication.principal.SimplePrincipal] to request in view
with name 'casChangepwdView'
2009-03-23 16:37:45,704 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'service' of type
[org.jasig.cas.authentication.principal.SimpleWebApplicationServiceImpl] to
request in view with name 'casChangepwdView'
2009-03-23 16:37:45,704 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'commandName' of type [java.lang.String] to request in view
with name 'casChangepwdView'
2009-03-23 16:37:45,704 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'credentials' of type
[org.jasig.cas.authentication.principal.UsernamePasswordCredentials] to request
in view with name 'casChangepwdView'
2009-03-23 16:37:45,704 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'currentFormObject' of type
[org.jasig.cas.authentication.principal.UsernamePasswordCredentials] to request
in view with name 'casChangepwdView'
2009-03-23 16:37:45,705 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'flowExecutionKey' of type [java.lang.String] to request in
view with name 'casChangepwdView'
2009-03-23 16:37:45,705 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'warnCookieValue' of type [java.lang.Boolean] to request in
view with name 'casChangepwdView'
2009-03-23 16:37:45,705 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'ticketGrantingTicketId' of type [java.lang.String] to
request in view with name 'casChangepwdView'
2009-03-23 16:37:45,705 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object
'org.springframework.validation.BindException.currentFormObject' of type
[org.springframework.validation.BindException] to request in view with name
'casChangepwdView'
2009-03-23 16:37:45,705 DEBUG [org.springframework.web.servlet.view.JstlView] -
Added model object 'org.springframework.validation.BindException.credentials'
of type [org.springframework.validation.BindException] to request in view with
name 'casChangepwdView'
2009-03-23 16:37:45,705 DEBUG [org.springframework.web.servlet.view.JstlView] -
Forwarding to resource [/WEB-INF/view/jsp/default/ui/casChangepwdView.jsp] in
InternalResourceView 'casChangepwdView'
2009-03-23 16:37:46,538 DEBUG
[org.springframework.web.servlet.DispatcherServlet] - Successfully completed
request
2009-03-23 16:37:54,217 DEBUG
[org.springframework.web.servlet.DispatcherServlet] - DispatcherServlet with
name 'cas' processing request for [/cas/login]
2009-03-23 16:37:54,217 DEBUG
[org.springframework.web.servlet.handler.SimpleUrlHandlerMapping] - Mapping
[/login] to handler
'org.springframework.webflow.executor.mvc.flowcontrol...@1913751'
2009-03-23 16:37:54,217 DEBUG
[org.springframework.webflow.executor.support.FlowRequestHandler] - Request
initiated by [servletexternalcont...@17a82f1 requestParameterMap = map['lt' ->
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k37D02D2B-9371-2208-0354-8DDEED1709CB',
'service' -> 'https://test.example.be/idp/Authn/RemoteUser', '_eventId' ->
'proceed', '_currentStateId' -> '']]
2009-03-23 16:37:54,218 DEBUG
[org.springframework.webflow.executor.FlowExecutorImpl] - Resuming flow
execution with key
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k37D02D2B-9371-2208-0354-8DDEED1709CB'
on user event 'proceed'
2009-03-23 16:37:54,218 DEBUG
[org.springframework.webflow.execution.repository.continuation.ContinuationFlowExecutionRepository]
- Parsed encoded flow execution key
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k37D02D2B-9371-2208-0354-8DDEED1709CB',
extracted conversation id 'D05B741B-9E67-74F2-6BBA-0252F6AA6109' and
continuation id '37D02D2B-9371-2208-0354-8DDEED1709CB'
2009-03-23 16:37:54,218 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Getting conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:54,218 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Locking conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:54,218 DEBUG
[org.springframework.webflow.execution.repository.continuation.ContinuationFlowExecutionRepository]
- Getting flow execution with key
'_cD05B741B-9E67-74F2-6BBA-0252F6AA6109_k37D02D2B-9371-2208-0354-8DDEED1709CB'
2009-03-23 16:37:54,218 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Getting conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:54,226 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Getting conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:54,226 DEBUG
[org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl] -
Getting flow definition with id 'login-webflow'
2009-03-23 16:37:54,226 DEBUG
[org.springframework.webflow.engine.builder.RefreshableFlowDefinitionHolder] -
Calculating last modified timestamp for flow definition resource
'ServletContext resource [/WEB-INF/login-webflow.xml]'
2009-03-23 16:37:54,227 DEBUG
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - Resuming
execution on user event 'proceed'
2009-03-23 16:37:54,227 DEBUG
[org.springframework.webflow.engine.impl.RequestControlContextImpl] - Signaling
event 'proceed' in state 'viewChangepwdForm' of flow 'login-webflow'
2009-03-23 16:37:54,227 DEBUG [org.springframework.webflow.engine.Transition] -
Executing [transit...@2aa00c on = [eventId = 'proceed'], to =
sendTicketGrantingTicket] out of state 'viewChangepwdForm'
2009-03-23 16:37:54,227 DEBUG [org.springframework.webflow.engine.ActionState]
- Entering state 'sendTicketGrantingTicket' of flow 'login-webflow'
2009-03-23 16:37:54,227 DEBUG
[org.springframework.webflow.engine.ActionExecutor] - Executing
[annotatedact...@71b383 targetAction =
org.jasig.cas.web.flow.sendticketgrantingticketact...@c087be, attributes =
map[[empty]]] in state 'sendTicketGrantingTicket' of flow 'login-webflow'
2009-03-23 16:37:54,227 DEBUG
[org.jasig.cas.web.flow.SendTicketGrantingTicketAction] - Action
'SendTicketGrantingTicketAction' beginning execution
2009-03-23 16:37:54,227 DEBUG
[org.jasig.cas.web.flow.SendTicketGrantingTicketAction] -
ticketGrantingTicketId=null
2009-03-23 16:37:54,227 DEBUG
[org.jasig.cas.web.flow.SendTicketGrantingTicketAction] -
ticketGrantingTicketValueFromCookie=null
2009-03-23 16:37:54,228 DEBUG
[org.jasig.cas.web.flow.SendTicketGrantingTicketAction] - Action
'SendTicketGrantingTicketAction' completed execution; result is 'success'
2009-03-23 16:37:54,228 DEBUG
[org.springframework.webflow.engine.impl.RequestControlContextImpl] - Signaling
event 'success' in state 'sendTicketGrantingTicket' of flow 'login-webflow'
2009-03-23 16:37:54,228 DEBUG [org.springframework.webflow.engine.Transition] -
Executing [transit...@fded2 on = [eventId = 'success'], to = serviceCheck] out
of state 'sendTicketGrantingTicket'
2009-03-23 16:37:54,228 DEBUG
[org.springframework.webflow.engine.DecisionState] - Entering state
'serviceCheck' of flow 'login-webflow'
2009-03-23 16:37:54,228 DEBUG [org.springframework.webflow.engine.Transition] -
Executing [transit...@1edc290 on = flowScope.service != null, to =
generateServiceTicket] out of state 'serviceCheck'
2009-03-23 16:37:54,228 DEBUG [org.springframework.webflow.engine.ActionState]
- Entering state 'generateServiceTicket' of flow 'login-webflow'
2009-03-23 16:37:54,228 DEBUG
[org.springframework.webflow.engine.ActionExecutor] - Executing
[annotatedact...@80b973 targetAction =
org.jasig.cas.web.flow.generateserviceticketact...@10f3a9c, attributes =
map[[empty]]] in state 'generateServiceTicket' of flow 'login-webflow'
2009-03-23 16:37:54,228 DEBUG
[org.jasig.cas.web.flow.GenerateServiceTicketAction] - Action
'GenerateServiceTicketAction' beginning execution
2009-03-23 16:37:54,230 DEBUG
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - Attempting to
handle [org.springframework.webflow.engine.ActionExecutionException: Exception
thrown executing [annotatedact...@80b973 targetAction =
org.jasig.cas.web.flow.generateserviceticketact...@10f3a9c, attributes =
map[[empty]]] in state 'generateServiceTicket' of flow 'login-webflow' --
action execution attributes were 'map[[empty]]'; nested exception is
java.lang.IllegalArgumentException: ticketGrantingticketId cannot be null]
2009-03-23 16:37:54,231 DEBUG
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - Rethrowing
unhandled flow execution exception
2009-03-23 16:37:54,231 DEBUG
[org.springframework.webflow.conversation.impl.SessionBindingConversationManager]
- Unlocking conversation D05B741B-9E67-74F2-6BBA-0252F6AA6109
2009-03-23 16:37:54,233 DEBUG
[org.springframework.web.servlet.DispatcherServlet] - Could not complete request
org.springframework.webflow.engine.ActionExecutionException: Exception thrown
executing [annotatedact...@80b973 targetAction =
org.jasig.cas.web.flow.generateserviceticketact...@10f3a9c, attributes =
map[[empty]]] in state 'generateServiceTicket' of flow 'login-webflow' --
action execution attributes were 'map[[empty]]'; nested exception is
java.lang.IllegalArgumentException: ticketGrantingticketId cannot be null
at
org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:64)
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156)
at org.springframework.webflow.engine.State.enter(State.java:191)
at
org.springframework.webflow.engine.Transition.execute(Transition.java:212)
at
org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:54)
at org.springframework.webflow.engine.State.enter(State.java:191)
at
org.springframework.webflow.engine.Transition.execute(Transition.java:212)
at
org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
at org.springframework.webflow.engine.State.enter(State.java:191)
at
org.springframework.webflow.engine.Transition.execute(Transition.java:212)
at
org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:202)
at
org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:222)
at
org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:111)
at
org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalArgumentException: ticketGrantingticketId cannot be
null
at org.springframework.util.Assert.notNull(Assert.java:112)
at
org.jasig.cas.CentralAuthenticationServiceImpl.grantServiceTicket(CentralAuthenticationServiceImpl.java:168)
at
org.jasig.cas.CentralAuthenticationServiceImpl.grantServiceTicket(CentralAuthenticationServiceImpl.java:245)
at
org.jasig.cas.web.flow.GenerateServiceTicketAction.doExecute(GenerateServiceTicketAction.java:37)
at
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:192)
at
org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:146)
at
org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:59)
... 44 more
--
You are currently subscribed to [email protected] as:
[email protected]
To unsubscribe, change settings or access archives, see
http://www.ja-sig.org/wiki/display/JSG/cas-user