0

我正在构建一个 Web 应用程序,用户可以在其中发送 HTTP 请求来上传文件。我需要将用户重定向到我的 servlet 中的登录页面,如果身份验证成功,我需要处理请求。这样做的最佳选择是什么?这是我想做的事情:

  1. 将请求 URL 和 HTTPServletRequest 对象保存在具有特定请求 ID(一些 GUID)的缓存(一些内存缓存,如JCS )中。
  2. 将用户连同请求 ID 一起重定向到登录页面。
  3. 当用户登录时,请求 id 也会传递给 servlet。
  4. 如果登录成功,则从缓存中检索 HTTPServletRequest 对象并开始处理它。

我读到的另一个选项是使用HTTPReferrer,但这不会让我得到请求参数(它是一个 post 操作)。

我的方法是否正确?有没有更好的方法来处理这个?

提前致谢!

4

1 回答 1

0

这是可以实现的一种方法。

Cookie+过滤器方法:

  1. 您收到用户的请求,
  2. 检查用户是否在过滤器中登录(您可以通过检查您为登录用户或有效会话对象设置的任何 cookie 来做到这一点),
  3. 如果用户未登录,则将用户重定向到登录页面并使用当前请求 URL 设置一个 cookie(名称为 redirect )。
  4. 用户看到登录页面,输入凭据,
  5. Servlet 接收登录请求,验证用户,如果登录正确,它检查重定向 cookie,检索 URL,删除重定向 cookie 并将用户重定向到该 URL。
于 2013-11-14T07:11:35.543 回答