2016-12-07 11 views
0

내 웹 응용 프로그램은 Tomcat 서버를 사용하여 Vaadin - Servlet에서 개발되었습니다.세션 시간 초과 알림

사용자가 로그 아웃 링크를 클릭하면 세션 시간 초과 오류가 발생하고 잠시 후 자동으로 로그인 페이지로 리디렉션됩니다.

이전에는 리디렉션이 너무 빨라서 사용자가이 시간 초과 오류를 볼 수 없었습니다. 하지만 Vaadin에서 일부 버전을 업데이트 한 후 사용자가이 오류를 볼 수 있습니다.

이 문제를 해결하는 방법을 제안하십시오. 로그 아웃 버튼을 사용하여 세션 시간이 초과되었을 때 브라우저가 세션 타임 아웃에 대한 오류 메시지를 표시하지 못하도록하는 방법을 찾고 있습니다.

어떻게 달성 할 수 있습니까? 아니면 더 나은 해결책을 제안 할 수 있습니까?

미리 감사드립니다.

답변

0

세션을 무효화하기 전에 푸시 모드를 비활성화하십시오.

Page.getCurrent(). setLocation (location);

UI.getCurrent(). getPushConfiguration(). setPushMode (PushMode.DISABLED);

session.getSession(). invalidate();

괜찮습니다. Push에 대한 지원이 모든 서버에서 완전히 구현되지 않았기 때문에 문제가 발생합니다. 따라서 일부 서버에서는이 문제가 발생하지 않을 수 있습니다.

위의 로직을 사용하면 모든 서버에서 올바르게 작동하는 Transport.LONG_POLLING을 설정할 수도 있습니다.