2011-03-18 3 views
1

저는 GAE에 배포하려고하는 아주 기본적인 Wicket 응용 프로그램을 가지고 있습니다. 나는 기본 작업을 수행하고, here 단계를 수행하고 생성시 세션 객체를 바인딩합니다.개찰구 세션은 GAE에서 지속되지 않습니다

세션의 상태를 저장하는 데 문제가 있습니다. 내 세션 클래스는 AuthenticatedWebSession을 확장합니다. 로그인 페이지는 AuthenticatedWebSession.authenticate()를 통해 인증되며 항상 true를 반환하고 사용자 이름을 멤버 변수로 설정합니다. 그러나 후속 페이지는 세션의 null 사용자 이름을보고 AuthenticatedWebSession.isSignedIn()은 false를 반환합니다.

모든 페이지에 Session.getId()에 대한 동일한 값이 표시되므로 세션을 유지 관리하는 것처럼 보입니다.

아이디어가 있으십니까?

TIA! Chris

답변

4

내 질문에 대한 답변이 Wicket 메일 링리스트에서 확인되었습니다. 답변은 세션 멤버를 인증 한 후에 (또는 세션 멤버를 변경 한 후에) Session.dirty()를 호출해야 저장된다는 것입니다. 분명히 제 개발 환경에서는 세션이 항상 저장되었지만 GAE가 더 최적화되어 더러운 세션 만 저장했습니다.

+0

Session.bind()가 나를위한 속임수입니다. 감사합니다. – schmimd04