From b83cc849c1c56e169e59cf60d6ce3a2b2d953213 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 16 十二月 2020 17:16:45 +0800
Subject: [PATCH] 修改规则

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

diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index d627078..d7aefe8 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -127,6 +127,8 @@
             int totalRows = sheet.getPhysicalNumberOfRows();
             List<SysUser> userList=new ArrayList<>();
             System.out.println("totalRows=========="+totalRows);
+            String errorMsg = null;
+
             for (int i = 1; i < totalRows; i++) {
                 row=sheet.getRow(i);
                 totalCells= row.getLastCellNum();
@@ -187,7 +189,14 @@
                 sysUser.setArp((int)Double.parseDouble(valuesList.get(2))+"");//arp号
                 sysUser.setName(valuesList.get(3));//姓名
                 sysUser.setAccount(valuesList.get(4));//账号
+
+                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,}$";
+                if (!valuesList.get(5).matches(PW_PATTERN)){
+                    errorMsg += "第"+i+"行,密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上";
+                }
+
                 sysUser.setPassword(MD5Utils.encode((int)Double.parseDouble(valuesList.get(5))+""));//密码
+
                 sysUser.setPhone(valuesList.get(6));//电话
                 sysUser.setEmail(valuesList.get(7));//邮箱
                 sysUser.setIdCard(valuesList.get(8));//id卡号
@@ -219,6 +228,10 @@
                 sysUser.setValidFlag(ValidFlag.VALID);
                 userList.add(sysUser);
             }
+            if (errorMsg != null){
+                FacesUtils.warn(errorMsg);
+            }
+
             this.sysUserService.insertSysUserList(userList);
             System.out.println("=========导入结束=====");
             FacesUtils.info("导入成功。");
@@ -259,14 +272,20 @@
 			FacesUtils.warn("原密码错误,请重新输入!");
             return null;
 		}
-    		if(!this.newPassword.equals(this.newPasswordSecond))
-    		{
-    			FacesUtils.warn("新密码不一致,请重新输入。");
-            return null;
-    		}
+		if(!this.newPassword.equals(this.newPasswordSecond))
+		{
+		    FacesUtils.warn("新密码不一致,请重新输入。");
+		    return null;
+		}
 
-    		this.sysUser.setName(username);
-    		this.sysUser.setPassword(MD5Utils.encode(this.newPassword));
+		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,}$";
+        if (!this.newPassword.matches(PW_PATTERN)){
+            FacesUtils.warn("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上");
+            return null;
+        }
+
+        this.sysUser.setName(username);
+        this.sysUser.setPassword(MD5Utils.encode(this.newPassword));
         this.sysUserService.updateSysUser(sysUser);
         this.newPassword = null;
         this.oriPassword = null;
@@ -322,6 +341,13 @@
                 if(!org.apache.commons.lang.StringUtils.isNotBlank(sysUser.getProjectId())){
                     sysUser.setProjectId(null);
                 }
+
+                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,}$";
+                if (!sysUser.getPassword().matches(PW_PATTERN)){
+                    FacesUtils.warn("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上");
+                    return;
+                }
+
                 sysUser.setPassword(MD5Utils.encode(sysUser.getPassword()));
                 this.sysUserService.insertSysUser(sysUser);
 

--
Gitblit v1.9.2