|
发表于 2019-6-11 19:57:04
|
显示全部楼层
基本思路: 在BIZ的登录逻辑中,判断是否是“用户名或密码”错误, 如果是的话, 此处根据登录用户名记录错误的次数(一段时间内),如果超出三次后, 阻止登录(比如同一个账号半个小时后才能登录);
具体实现: 代码插入点:/BIZ/system/logic/code/dsrc/OPMProcedure.java, 找到其中的login方法(注意有好几个login方法,只需要修改参数一致的)
private static Object login(String name, Date loginDate, String pwd, String lang, boolean checkPwd, String ip, Map<Object, Object> options) {
//添加检查是否超出用户名和密码次数限制
try{
//将login原来的逻辑复制到这里
}catch(BusinessException e){
String code = e.getCode();
if (BusinessMessages.NAME_PASSWORD_ERROR.equals(code)){
//此处实现记录用户名和密码超出次数
System.out.println("用户名或密码错误");
}
throw e;
}
}
|
|