我正在运行spring security 2.0.3,我需要实现一个简单的字典攻击块,植入很简单,当他有X次错误登录时,添加一个userstatus属性和一个blocked值自上次登录以来的尝试次数。问题是如何通过spring security重定向到适当的页面,甚至更好地
重定向到login.jsp并通过一些会话标记阻止输入(这只是JS块,但我仍然需要它),spring security的UserDetailService接口定义了一个loadByUserName方法使我能够抛出我自己的 BadCredentialsException 扩展,但 ExceptionTranslationFilter 不允许我使用它,是否有内置的方法来使用 spring 或者我必须破解一些东西?谢谢
问问题
268 次
2 回答
0
我会看一下文档的第 2.3.5 节。 我这样做的方法是实现一个Pre-auth
过滤器或一个Authentication Processing
过滤器来实现您对蛮力式攻击的检查。您可能想要创建一个过滤器,在大多数情况下,它只是委托给原始过滤器类,除了检查用户是否提出了太多请求等。或者,您也可以覆盖所有功能,而不必委托给原始过滤器。
于 2011-01-31T14:28:05.483 回答
0
实现一个 AuthenticationFailureHandler 更新数据库中的计数/阻塞标志并进行重定向。我不会指望使用会话,因为攻击者无论如何都不会发送 cookie。
于 2011-01-31T22:45:14.213 回答