From 83a5abea31bf14c78572d3a4c5fdf14afb97c82f Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期六, 11 一月 2025 10:58:15 +0800 Subject: [PATCH] 增加登录日志和错误次数校验 --- src/main/java/com/fzzy/web/LoginController.java | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/web/LoginController.java b/src/main/java/com/fzzy/web/LoginController.java index 7edaff0..09be401 100644 --- a/src/main/java/com/fzzy/web/LoginController.java +++ b/src/main/java/com/fzzy/web/LoginController.java @@ -1,5 +1,6 @@ package com.fzzy.web; +import com.fzzy.sys.LogLoginService; import com.fzzy.sys.UserPR; import com.fzzy.sys.entity.SysUser; import com.wf.captcha.ArithmeticCaptcha; @@ -26,6 +27,8 @@ @Autowired private UserPR userPR; + @Autowired + private LogLoginService logLoginService; /** * 鐧诲綍楠岃瘉鍏ュ彛 @@ -54,16 +57,32 @@ return "redirect:/login?tag=04&username=" + username; } + //鍒ゆ柇闄愬埗鐧婚檰 + int num = logLoginService.checkLoginLimit(request, username); + if (num >= 3) { + return "redirect:/login?tag=11&username=" + username; + } + SysUser user = userPR.listById(username); if (null == user) { + num = logLoginService.addNoUser(request, username); + if (num >= 3) { + return "redirect:/login?tag=12&username=" + username; + } return "redirect:/login?tag=05&username=" + username; } boolean tag = userPR.checkPassword(password, user); if (!tag){ + num = logLoginService.addPwdError(request, user); + if (num >= 3) { + return "redirect:/login?tag=11&username=" + username; + } return "redirect:/login?tag=06&username=" + username; } request.getSession().setAttribute("user", user); + //澧炲姞鐧诲綍鏃ュ織 + logLoginService.addLoginInfo(request, user); return "redirect:/home"; } @@ -103,6 +122,12 @@ if ("10".equals(tag)) { tag = "鎮ㄧ殑璐﹀彿鍦ㄥ叾浠栧湴鏂圭櫥褰曪紝琚揩涓嬬嚎"; } + if ("11".equals(tag)) { + tag = "杩炵画3娆¢敊璇紝闄愬埗鐧婚檰60鍒嗛挓"; + } + if ("12".equals(tag)) { + tag = "杩炵画3娆¤緭鍏ヤ笉瀛樺湪璐﹀彿锛岄檺鍒剁櫥闄�60鍒嗛挓"; + } view.addObject("TAG", tag); view.addObject("USERNAME", username); } -- Gitblit v1.9.3