我正在使用Spring Security 3.1.0开发应用程序。我需要修改的一项功能是通过将SPRING_SECURITY_LAST_EXCEPTION设置为某种类型的属性来驱动的。我没有看到组织中使用该名称设置属性的任何代码,因此我猜想这是由Spring Security设置的。
当我发现许多涉及SPRING_SECURITY_LAST_EXCEPTION的论坛消息和“ how-to”博客文章未解决我的实际问题时,我怀疑这不是我们的名字。
我仍然不能说这是什么类型的属性,因为我还没有找到有关如何设置该属性以及什么是属性的任何文档。
请向我展示我未能找到的地方,以便找到说明该属性如何设置及其属性的文档。
最佳答案
类WebAttributes包含一个名为AUTHENTICATION_EXCEPTION
的常量。这用于设置请求属性或会话属性(取决于使用的是转发还是重定向),其名称为SPRING_SECURITY_LAST_EXCEPTION
和SimpleUrlAuthenticationFailureHandler中最后一个AuthenticationException
的值。
笔记
对错误消息使用SPRING_SECURITY_LAST_EXCEPTION通常不是一个好主意,因为它会显示攻击者可以使用的信息。
我建议更新到Spring Security 3.2.7.RELEASE。这应该是被动的,并且可以修复旧版本中存在的所有漏洞。最终,您应该花一些时间来更新到Spring Security 4,但这要花些时间,因为它包含一些non passive changes。