会话超时通知

Posted

技术标签:

【中文标题】会话超时通知【英文标题】:Session time out notification 【发布时间】:2017-04-22 00:37:52 【问题描述】:

我在 Vaadin 上开发的 Web 应用程序 - 使用 Tomcat 服务器的 Servlet。

当用户单击注销链接时,会话超时错误即将到来,然后在一段时间后自动重定向到登录页面。

以前重定向非常快,以至于用户无法看到此超时错误。 但是现在在 Vaadin 中进行一些版本更新后,用户可以看到这个错误。

建议解决此问题的方法。 我正在考虑找到一种方法来阻止浏览器显示 session-timeout 的错误消息,当会话使用注销按钮超时时。

如何实现。或者您可以提出更好的解决方案吗?

提前致谢。

【问题讨论】:

【参考方案1】:

在会话失效之前禁用推送模式。

Page.getCurrent().setLocation(location);

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

session.getSession().invalidate();

这会很好。 问题出现是因为所有服务器都没有完全实现对 Push 的支持。所以在某些服务器上可能不会出现这个问题。

通过上述逻辑,您还可以设置适用于所有服务器的 Transport.LONG_POLLING。

【讨论】:

以上是关于会话超时通知的主要内容,如果未能解决你的问题,请参考以下文章

在客户端处理会话超时

重置会话超时而不在 ASP.Net 中进行回发

Laravel 身份验证会话超时

打开多个应用程序选项卡时通知未关闭

如何在需要时(而不是定期)将服务器发送的事件通知发送到特定的浏览器会话?

IIS 会话超时与 ASP.NET 会话超时