0

我正在开发 Spring-MVC 应用程序,并且必须处理一个用例,在该用例中,我必须在成功登录到我的应用程序后将用户重定向回他/她来自的同一位置。

我遇到了使用HTTPReferer标头之类的

final String refer = request.getHeader("Referer");

但是在做了一些研发之后,我遇到了各种线程说不Referer可靠,并且防火墙和浏览器可以阻止它,这会使我的应用程序无法正常工作。

有没有其他方法可以实现这一目标?或者在春季,我如何从用户来的位置获取有关位置(URL)的信息,以便我可以将其保存在某处,并在用户成功登录后检索它。我在 Spring 安全性中看到了类似的功能。

4

1 回答 1

0

嗯,其实很简单:

  • 未经身份验证的用户尝试访问您应用中的受保护资源
  • 安全过滤器拦截请求
  • 过滤器将访问的受保护资源的 URL 存储在会话属性中
  • 过滤器转发到登录屏幕
  • 一旦登录成功,将从会话中检索 URL,并将用户重定向到该 URL

我只会这样做是使用 GET 请求访问受保护的资源。另一种变体是将受保护资源的 URL 存储在登录表单的隐藏字段中。

于 2012-05-27T12:49:58.033 回答