看起来并不容易。我的第一个想法是子类化,
LockOutRealm如果用户被锁定,则向请求上下文添加一些内容,您可以稍后将其打印到用户界面。不幸的是,它不起作用,因为刚才的
authenticate方法
LockOutRealm获得了登录名和密码,并且那里没有请求或上下文对象。
另一个问题是,当身份验证失败时,
authenticate方法将返回
null,并且
LockOutRealm也会这样做。
LockOutRealm身份验证失败时,的行为与任何其他领域的行为之间没有区别。
解决方法:如果您正在使用Servlet
3.0,请使用接口的
login方法,
HttpServletRequest自己实现锁定逻辑,并在Servlet调用之前检查失败的登录尝试次数
HttpServletRequest.login()
。如果高于限制,则不要调用
login()并打印自定义错误消息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)