2016-07-27 5 views
0

Spring Webflow 2.4.1 및 Spring 4.1.8을 사용하여 작성된 응용 프로그램 (Jasig CAS)을 확장하려고합니다. 나는 잠시 걸어서 돌아 왔을 때 흐름이 계속해서 실행된다는 것을 알아 챘다. 그것은 시간 초과되지 않습니다.스프링 웹 플로우가 유휴 상태가되지 않습니까? 다시 시작할까요?

유휴 시간 초과 후 흐름이 세션이 파괴되었으므로 흐름을 사용자가 다시 시작한다고 생각했습니다. 흐름 실행 키가 손실되고 HTTP 세션에 변수가 저장됩니다. 그러나 분명히 그렇지 않습니다.

누군가 흐름이 시간 초과되지 않는 이유를 이해할 수 있습니까? 그리고 HTTP 세션이 파기 된 후에 어떻게 흐름 실행 키와 흐름 변수를 얻었습니까?

여기 로그가 있습니다. 흐름이 다시 시작되고 흐름 변수가 복원되었으므로 흐름이 계속 실행될 수 있습니다.

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 = [BeanFactoryVariab[email protected] 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' 

답변

1

흐름을 HTTP 세션 이상으로 유지하려면 세션이 실제로 파괴되지 않거나이 Jasig CAS가 기본값이 아닌 다른 작업을 수행하십시오. Spring Web Flow 디폴트는 Session을 사용하며 세션이 만료되면 다시 시작할 수 없습니다.