From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/controller/LoginController.java |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/LoginController.java b/src/main/java/com/nanometer/smartlab/controller/LoginController.java
index 0882071..b5a72da 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LoginController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LoginController.java
@@ -6,6 +6,7 @@
 import com.nanometer.smartlab.util.FacesUtils;
 import org.apache.log4j.Logger;
 import org.apache.shiro.authc.DisabledAccountException;
+import org.apache.shiro.authc.ExcessiveAttemptsException;
 import org.apache.shiro.authc.UnknownAccountException;
 import org.apache.shiro.authc.UsernamePasswordToken;
 import org.apache.shiro.subject.Subject;
@@ -42,6 +43,9 @@
         } catch (UnknownAccountException e) {
             FacesUtils.warn("用户名不存在");
             return null;
+        }  catch (ExcessiveAttemptsException e) {
+            FacesUtils.warn("登陆失败,密码连续输入错误超过8次,锁定1分钟!");
+            return null;
         } catch (Exception e) {
             logger.error("登陆失败", e);
         }
@@ -50,9 +54,11 @@
             SysUser user = this.sysUserService.getSysUserByAccount(loginAcct);
             currentUser.getSession(true).setAttribute(Constants.SESSION_USER, user);
 
-            String PW_PATTERN = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$";
+            String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}";
             if (!loginPwd.matches(PW_PATTERN)) {
                 ischange = 1;
+            }else {
+                ischange = 0;
             }
 
             this.menuController.initPage();

--
Gitblit v1.9.2