【发布时间】:2013-08-06 16:30:43
【问题描述】:
我在 grails 2.0.0.M2 中使用 spring-security-core 插件 1.2.4 登录。我正在尝试使用一些参数进行回调。 “www.mydomain.com/foo?callbackURL=http://google.com” 那么当登录失败时,URL 会丢失参数并重定向到“www.mydomain.com/auth?login_error=1”。
如何在登录失败时保留参数?
【问题讨论】:
我在 grails 2.0.0.M2 中使用 spring-security-core 插件 1.2.4 登录。我正在尝试使用一些参数进行回调。 “www.mydomain.com/foo?callbackURL=http://google.com” 那么当登录失败时,URL 会丢失参数并重定向到“www.mydomain.com/auth?login_error=1”。
如何在登录失败时保留参数?
【问题讨论】:
当您对未经授权的 url 执行请求时,Spring Security 会保存该 request on your session,然后当您成功进行身份验证时,它将您重定向到该请求。
您可以使用以下代码获取初始目标网址:
SavedRequest savedRequest = (SavedRequest)session.getAttribute(AbstractProcessingFilter.SPRING_SECURITY_SAVED_REQUEST_KEY);
String requestUrl = savedRequest.getFullRequestUrl();
这里有更多关于application flow on authentication success and failure.的信息
【讨论】: