我想向使用 Ajax 的现有应用程序添加身份验证,我正在考虑最好的方法。这是一个典型的场景:
- 第一个请求 - 要求登录,进入第一个屏幕。这很好用。
- 会话已过期。
由于我执行 ajax 并为每个操作发送 2 个请求(一个实际请求和一个记录统计/审计操作的请求),因此可能会发生在其中一个请求上。发生这种情况时,应用程序会向我显示身份验证屏幕,并在成功身份验证后将用户转发到上一个请求。
这里的问题是我不想要转发,我希望我的自定义 Ajax/javascript 处理来获取响应并处理它。是否可以只弹出一个窗口进行身份验证,然后当我得到响应时继续像会话永不过期一样?
我在 web.xml 中有这个:
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/jsp/login.jsp</form-login-page>
<form-error-page>/jsp/login_error.jsp</form-error-page>
</form-login-config>
</login-config>