0

我想在会话超时时立即将用户重定向回登录页面,而无需用户向服务器发送请求。1. 是否有可以放在 web.xml 或 context.xml 中的配置标签来处理这个?/loginPage 2 之类的东西。如果没有,tomcat 有这个原因吗?它打破了什么契约?3.有没有办法使用tomcat、jaas和gwt来完成这个?

我曾尝试使用 HttpSessionListener,但这不起作用,因为您不能(也许我不知道如何)从 Session 对象向用户发送重定向。我尝试过使用过滤器,但只有在发出请求时才会调用过滤器。

我对用户身份验证和网络内容还很陌生,所以希望我已经正确地提出了问题并且没有滥用术语。提前致谢。

4

2 回答 2

0

好吧,基本上,服务器在使用标准 HTTP 协议时无法启动通信。您可以使用一些长轮询或服务器推送技术来破解这个问题。如果您使用的是 GWT,我建议您研究Errai框架。学习新事物的开销很大,但是您将能够使用 Errai 总线从服务器端通知用户。

于 2012-12-12T01:39:49.790 回答
0

您可以尝试这种 hacky 方法。这依赖于在会话关闭的用户上触发的第一个应用程序异步回调的失败

服务器上的会话超时总是为用户的所有异步调用返回异常。您可以在 GWT 异步回调(应用程序中的所有异步回调)的故障块中捕获它,然后使用 Window 和 Navigator 类( com.google.gwt.user.client 包)从 GWT 代码重定向应用程序

于 2012-12-12T03:32:02.040 回答