2016-07-27 4 views
0

Je développe une application (Jasig CAS) construite à l'aide de Spring Webflow 2.4.1 et Spring 4.1.8. J'ai remarqué que lorsque je m'éloigne un moment et que je reviens, le flux continuera à s'exécuter. Il ne temporise pas. Je pensais qu'après un délai d'attente inactif, le flux ramènerait l'utilisateur au point de départ puisque la session est détruite, la clé d'exécution du flux serait perdue, ainsi que les variables stockées dans la session HTTP. Mais, apparemment, ce n'est pas le cas. Est-ce que quelqu'un peut m'aider à comprendre pourquoi le flux ne temporise pas? Et, comment a-t-il obtenu la clé d'exécution de flux et les variables de flux après la destruction de la session HTTP?Le flux web de Spring n'interrompt pas le timeout? Il reprend?

Voici le journal que je vois. Notez que le flux reprend et que les variables de flux sont restaurées, c'est peut-être pourquoi le flux peut continuer à fonctionner.

2016-07-26 16:10:17,688 DEBUG [org.springframework.webflow.mvc.servlet.FlowHandlerMapping] - Mapping request with URI '/cas/login' to flow with id 'login' 
2016-07-26 16:10:17,689 DEBUG [org.springframework.webflow.executor.FlowExecutorImpl] - Resuming flow execution with key 'c5317d47-5330-4189-971f-......(key omitted) 
2016-07-26 16:10:17,710 DEBUG [org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl] - Getting FlowDefinition with id 'login' 
2016-07-26 16:10:17,710 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - Resuming in [email protected]149 
2016-07-26 16:10:17,710 DEBUG [org.springframework.webflow.engine.Flow] - Restoring [[email protected] name = 'credential', valueFactory = [[email protected] type = UsernamePasswordCredential]] 
2016-07-26 16:10:17,711 DEBUG [org.springframework.webflow.engine.Flow] - Restoring [[email protected] name = 'changePassword', valueFactory = [[email protected] type = ChangePasswordCredential]] 
2016-07-26 16:10:17,711 DEBUG [org.springframework.webflow.engine.Flow] - Restoring [[email protected] name = 'changeEmail', valueFactory = [[email protected]266f6421 type = ChangeEmailAddress]] 
2016-07-26 16:10:17,711 DEBUG [org.springframework.webflow.engine.Flow] - Restoring [[email protected] name = 'changeSecretQuestion', valueFactory = [[email protected] type = ChangeSecretQuestion]] 
2016-07-26 16:10:17,712 DEBUG [org.springframework.webflow.mvc.view.AbstractMvcView] - Processing user event 'submit' 

Répondre

1

Soit votre session est pas réellement détruit ou ce JASIG CAS fait quelque chose non par défaut afin de rendre les flux persistent au-delà de la session HTTP. Les valeurs par défaut de Spring Web Flow utilisent la session et ne pourront pas reprendre une fois la session expirée.