在auth失败的情况下获取URL

时间:2010-06-28 18:34:36

标签: grails spring-security

在grails acegi插件中,您可以在SecurityConfig中指定authenticationFailureUrl属性。

有没有办法在authenticationFailureUrl的范围内获取导致auth失败的url?

这并不像获取请求或查看参数那么简单。如果存在auth失败,则会重定向到authenticationFailureUrl,因此该请求的url是authenticationFailureUrl,而不是导致auth失败的url。

在我的情况下,我将authenticationFailureUrl设置为控制器方法 - 查看调试器中的所有内容,没有解决方案对我来说很明显....

提前完成。

2 个答案:

答案 0 :(得分:2)

表示原始请求的SavedRequest存储为会话属性,其名称由常量DefaultSavedRequest.SPRING_SECURITY_SAVED_REQUEST_KEY(或3.0之前版本中的AbstractProcessingFilter.SPRING_SECURITY_SAVED_REQUEST_KEY)指定。

答案 1 :(得分:0)

对于使用Spring Security 3.0.0的其他人来说,这可能会有所帮助。在SS 3.0.3中

AbstractProcessingFilter已弃用,SPRING_SECURITY_SAVED_REQUEST_KEY中没有常量DefaultSavedRequest。所以你可以通过以下方式得到这个:

SavedRequest savedRequest = (SavedRequest) session.getAttribute(WebAttributes.SAVED_REQUEST);     

参考:     Spring Security: How to get the initial target url