我正在使用 Spring Security 3.1.0 开发一个应用程序。我需要修改的一项功能是由设置为某种属性类型的 SPRING_SECURITY_LAST_EXCEPTION 驱动的。我没有看到我的组织中有任何代码通过此名称设置属性,因此我猜测这是由 Spring Security 设置的。
当我发现许多论坛消息和引用 SPRING_SECURITY_LAST_EXCEPTION 的“操作方法”博客文章并未解决我的实际问题时,我怀疑这不是我们编造的名称,这一点得到了证实。 我仍然不能说它是什么类型的属性,因为我还没有找到任何关于如何设置该属性以及属性是什么的文档。
请告诉我我在哪里没有找到解释此属性如何设置及其属性的文档。
最佳答案
类(class)WebAttributes包含一个名为 AUTHENTICATION_EXCEPTION
的常量。它用于设置请求属性或 session 属性(取决于是否使用转发或重定向),其名称为 SPRING_SECURITY_LAST_EXCEPTION
以及 SimpleUrlAuthenticationFailureHandler 中最后一个 AuthenticationException
的值。 .
注释
- 对错误消息使用 SPRING_SECURITY_LAST_EXCEPTION 通常不是一个好主意,因为它显示攻击者可以使用的信息。
- 我建议更新到 Spring Security 3.2.7.RELEASE。这应该是被动的,并将修复旧版本中存在的任何漏洞。最终您应该花时间更新到 Spring Security 4,但这有点复杂,因为它包含一些 non passive changes .
关于java - Spring Security - SPRING_SECURITY_LAST_EXCEPTION 的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29353262/