我使用 spring-security-core 插件 1.2.4 登录 grails 2.0.0.M2。我正在尝试使用一些参数进行回调。“www.mydomain.com/foo?callbackURL= http://google.com ” 那么当登录失败时,URL 会丢失参数并重定向到“www.mydomain.com/auth?login_error=1”。
如何在登录失败时保留参数?
我使用 spring-security-core 插件 1.2.4 登录 grails 2.0.0.M2。我正在尝试使用一些参数进行回调。“www.mydomain.com/foo?callbackURL= http://google.com ” 那么当登录失败时,URL 会丢失参数并重定向到“www.mydomain.com/auth?login_error=1”。
如何在登录失败时保留参数?
当您对未经授权的 url 执行请求时,Spring Security 将该请求保存在您的 session中,然后当您成功进行身份验证时,它将您重定向到该请求。
您可以使用以下代码获取初始目标 url:
SavedRequest savedRequest = (SavedRequest)session.getAttribute(AbstractProcessingFilter.SPRING_SECURITY_SAVED_REQUEST_KEY);
String requestUrl = savedRequest.getFullRequestUrl();