Ver código fonte

登录次数上限调整-修改密码后可重新登录

sangwenwei 7 meses atrás
pai
commit
ad3113029b

+ 10 - 0
src/main/java/com/jeeplus/modules/sys/web/UserController.java

@@ -22,6 +22,7 @@ import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.Role;
 import com.jeeplus.modules.sys.entity.SystemConfig;
 import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.security.FormAuthenticationFilter;
 import com.jeeplus.modules.sys.security.SystemAuthorizingRealm;
 import com.jeeplus.modules.sys.service.OfficeService;
 import com.jeeplus.modules.sys.service.SystemConfigService;
@@ -1277,6 +1278,15 @@ public class UserController extends BaseController {
                 newpassword = SystemService.encrypeString(password);
                 systemService.updatePasswordById(user.getId(), user.getLoginName(), newpassword);
                 addMessage(redirectAttributes, "修改用户'" + user.getLoginName() + "'成功");
+                //将该用户存在redis中的缓存清除
+                String key = "loginFailNum:"+user.getLoginName();
+                String loginFailNum = JedisUtils.getResource().get(key);
+                if (StringUtils.isNotBlank(loginFailNum)){
+                    int num = Integer.parseInt(loginFailNum);
+                    JedisUtils.set(key,"0",0);
+                    Map<String, Integer> loginFailMap = (Map<String, Integer>)CacheUtils.get("loginFailMap");
+                    loginFailMap.remove(user.getLoginName());
+                }
             } else {
                 addMessage(redirectAttributes, "修改用户'" + user.getLoginName() + "'失败。验证码错误");
                 return "redirect:" + adminPath + "/login";