我正在运行spring security 2.0.3,我需要实现一个简单的字典攻击块, 植入是非常简单的,增加了userstatus的属性和被阻止的值 当自上次登录以来X次错误登录尝试时分配值。 问题是如何通过弹簧安全性重定向到适当的页面甚至更好 重定向到login.jsp并通过一些会话标记阻止输入(这只是JS块,但仍然需要它), spring security的UserDetailService接口定义了一个loadByUserName方法,它允许我抛出我自己的BadCredentialsException扩展,但是ExceptionTranslationFilter不允许我使用它,是否有内置的方法来使用spring或者我必须破解一些东西? 谢谢
答案 0 :(得分:0)
我会看一下documentation.的第2.3.5节。我这样做的方法是实现Pre-auth
过滤器或Authentication Processing
过滤器来实现对a的检查蛮力式攻击。您可能希望创建一个过滤器,在大多数情况下只是委托给原始过滤器类,除了检查用户是否发出过多请求等。或者,您也可以覆盖所有功能而不必委托原始过滤器。
答案 1 :(得分:0)
实现AuthenticationFailureHandler,更新DB中的count / blocked标志并执行重定向。我不会指望使用会话,因为无论如何攻击者都不会发送cookie。