Spring Security-在重定向到登录时保留URL参数
问题内容:
好。
可以说我有一个安全的网址格式
/secure/link-profile
(可选)可以附加url参数。
/secure/link-profile?firstName=Bob&secondName=Smith&membershipNumber=1234
我怎样才能使这些URL参数被带到登录页面?
/login?firstName=Bob&secondName=Smith&membershipNumber=1234
基本前提是我们提供与第三方的奖励集成,后者将把他们的用户发送给我们。他们将被带到一个页面,以将其第三者帐户/个人资料与其/我们的网站用户相关联。但是,如果他们没有我们的现有帐户,则在登录页面上,他们将转到注册页面,然后我们希望预先填充他们的一些详细信息,这些信息已由第三者转交给我们。
提前致谢
Spring安全性2.0.7.RELEASE Spring框架3.1.1.RELEASE
问题答案:
请参阅法buildRedirectUrlToLoginPage(HttpServletRequest request, ...)
在LoginUrlAuthenticationEntryPoint
。
如果我正确理解了您想要实现的目标,那么我认为应该足以在子类中重写此方法,复制原始方法,但是urlBuilder.setQuery(request.getQueryString())
在构建url时还要进行调用。
然后,您只需要ExceptionTranslationFilter
使用此自定义的入口点配置。