我正在尝试在我的 ajax 应用程序中实现表单身份验证。我遇到的问题是,当会话到期时,我得到 302 代码,该代码将我重定向到我在 web.xml 中指定的登录页面(并且将整个应用程序刷新到登录页面时一切都搞砸了)。
我想要做的是获得一个“未通过身份验证”(401)代码,然后在弹出窗口中显示登录表单,当登录成功时继续我正在做的事情。
这是正在发生的事情的图片:
和文档 http://docs.oracle.com/javaee/1.4/tutorial/doc/Security5.html
基本上,我想显示弹出窗口而不是重定向到登录页面,然后不重定向到资源,而是以 AJAX 方式进行更新。据我了解,由于无法避免重定向,因此不能仅在客户端完成(请参见此处:重定向信息),我需要在服务器上编写某种逻辑以防止重定向,请参见此处有关在 IIS 中执行此操作的详细信息:IIS 实现
PS 到目前为止:http ://www.oracle.com/technetwork/articles/entarch/session-lifecycle-096133.html看起来是最有希望的实现方式。该类已弃用,但我找不到新的类,并认为这是为 Weblogic 做的唯一方法。