我希望在会话超时后立即将用户重定向到登录页面,而无需用户向服务器发送请求。 1.是否有可以放在web.xml或context.xml中的配置标记来处理这个问题?像/ loginPage这样的东西 如果没有,tomcat确实有这个原因吗?它破坏了什么合同? 3.有没有办法用tomcat,jaas和gwt来实现这个目标?
我尝试过使用HttpSessionListener,但这不起作用,因为你不能(也许我不知道如何)从Session对象向用户发送重定向。我尝试过使用过滤器,但只有在发出请求时才会调用过滤器。
我对用户身份验证和网络内容相当陌生,所以我希望我能正确地解决问题并且没有滥用术语。提前谢谢。
答案 0 :(得分:0)
基本上,服务器在使用标准HTTP协议时无法启动通信。您可以通过使用一些长轮询或服务器推送技术来解决这个问题。如果您正在使用GWT,我建议您查看Errai框架。学习新东西需要很多开销,但是你可以使用Errai总线从服务器端通知用户。
答案 1 :(得分:0)
你可以尝试这种hacky方法。这取决于在会话关闭的用户上触发的第一个应用程序异步回调失败
在服务器上的会话超时总是为用户的所有异步调用返回异常。你可以在GWT异步回调的失败块(你的应用程序中的所有异步回调)中捕获,然后使用Window和Navigator类(com.google.gwt.user.client包)从GWT代码重定向应用程序