فهرست منبع

后端增加空串验证

xusl 1 سال پیش
والد
کامیت
131b93b2e5

+ 30 - 26
backend/src/main/java/com/jiayue/ssi/controller/SysMenuController.java

@@ -69,19 +69,23 @@ public class SysMenuController {
     @PreventReplay
     public ResponseVO addMenu(@RequestBody SysMenu menu) throws CustomException {
         try {
-            String menuName = menu.getMenuName().trim();
-            if (RyStringUtils.isEmpty(menuName)) {
+            if (RyStringUtils.isEmpty(menu.getMenuName()) || RyStringUtils.isEmpty(menu.getMenuName().trim())) {
                 return ResponseVO.fail("菜单名称不能为空!");
-            } else if (menuName.length() > 50) {
-                return ResponseVO.fail("菜单名长度不能超过50个字符!");
+            } else {
+                String menuName = menu.getMenuName().trim();
+                if (menuName.length() > 50) {
+                    return ResponseVO.fail("菜单名长度不能超过50个字符!");
+                }
             }
 
             if (!"F".equals(menu.getMenuType())) {
-                String routerPath = menu.getPath().trim();
-                if (RyStringUtils.isEmpty(routerPath)) {
+                if (RyStringUtils.isEmpty(menu.getPath()) || RyStringUtils.isEmpty(menu.getPath().trim())) {
                     return ResponseVO.fail("路由地址不能为空!");
-                } else if (routerPath.length() > 200) {
-                    return ResponseVO.fail("路由地址长度不能超过200个字符!");
+                } else {
+                    String routerPath = menu.getPath().trim();
+                    if (routerPath.length() > 200) {
+                        return ResponseVO.fail("路由地址长度不能超过200个字符!");
+                    }
                 }
             }
             if (menu.getOrderNum() == null) {
@@ -89,21 +93,21 @@ public class SysMenuController {
             } else if (!NumberUtil.isInteger(menu.getOrderNum() + "")) {
                 return ResponseVO.fail("排序不是整型数值!");
             }
-            String componentPath = menu.getComponent().trim();
-            if (RyStringUtils.isNotEmpty(componentPath)) {
-                if (componentPath.length() > 200) {
+
+            if (RyStringUtils.isNotEmpty(menu.getComponent())) {
+                if (menu.getComponent().length() > 200) {
                     return ResponseVO.fail("组件路径长度不能超过200个字符!");
                 }
             }
-            String routerParam = menu.getQuery().trim();
-            if (RyStringUtils.isNotEmpty(routerParam)) {
-                if (routerParam.length() > 200) {
+
+            if (RyStringUtils.isNotEmpty(menu.getQuery())) {
+                if (menu.getQuery().length() > 200) {
                     return ResponseVO.fail("路由参数长度不能超过200个字符!");
                 }
             }
-            String perms = menu.getPerms().trim();
-            if (RyStringUtils.isNotEmpty(perms)) {
-                if (perms.length() > 100) {
+
+            if (RyStringUtils.isNotEmpty(menu.getPerms())) {
+                if (menu.getPerms().length() > 100) {
                     return ResponseVO.fail("权限字符长度不能超过100个字符!");
                 }
             }
@@ -162,21 +166,21 @@ public class SysMenuController {
             } else if (!NumberUtil.isInteger(menu.getOrderNum() + "")) {
                 return ResponseVO.fail("排序不是整型数值!");
             }
-            String componentPath = menu.getComponent().trim();
-            if (RyStringUtils.isNotEmpty(componentPath)) {
-                if (componentPath.length() > 200) {
+
+            if (RyStringUtils.isNotEmpty(menu.getComponent())) {
+                if (menu.getComponent().length() > 200) {
                     return ResponseVO.fail("组件路径长度不能超过200个字符!");
                 }
             }
-            String routerParam = menu.getQuery().trim();
-            if (RyStringUtils.isNotEmpty(routerParam)) {
-                if (routerParam.length() > 200) {
+
+            if (RyStringUtils.isNotEmpty(menu.getQuery())) {
+                if (menu.getQuery().length() > 200) {
                     return ResponseVO.fail("路由参数长度不能超过200个字符!");
                 }
             }
-            String perms = menu.getPerms().trim();
-            if (RyStringUtils.isNotEmpty(perms)) {
-                if (perms.length() > 100) {
+
+            if (RyStringUtils.isNotEmpty(menu.getPerms())) {
+                if (menu.getPerms().length() > 100) {
                     return ResponseVO.fail("权限字符长度不能超过100个字符!");
                 }
             }

+ 23 - 11
backend/src/main/java/com/jiayue/ssi/controller/SysParameterController.java

@@ -45,12 +45,18 @@ public class SysParameterController {
     @PreventReplay
     public ResponseVO addParameter(@RequestBody SysParameter sysParameter) throws CustomException {
         try {
-            if (StringUtils.isEmpty(sysParameter.getSysKey())) {
+            if (StringUtils.isEmpty(sysParameter.getSysKey()) || StringUtils.isEmpty(sysParameter.getSysKey().trim())) {
                 return ResponseVO.fail("参数名不能为空!");
-            } else if (!"null".equals(sysParameterService.queryByKey(sysParameter.getSysKey(), "null"))) {
-                return ResponseVO.fail(sysParameter.getSysKey() + "参数名已存在!");
-            } else if (sysParameter.getSysKey().length() > 50) {
-                return ResponseVO.fail("参数名长度不能超过50个字符!");
+            } else {
+                String sysKey = sysParameter.getSysKey().trim();
+                if (sysKey.contains(" ")){
+                    return ResponseVO.fail("参数名不能含有空格!");
+                }
+                if (!"null".equals(sysParameterService.queryByKey(sysKey, "null"))) {
+                    return ResponseVO.fail(sysKey + "参数名已存在!");
+                } else if (sysKey.length() > 50) {
+                    return ResponseVO.fail("参数名长度不能超过50个字符!");
+                }
             }
 
             if (StringUtils.isEmpty(sysParameter.getSysValue())) {
@@ -96,13 +102,19 @@ public class SysParameterController {
                 return ResponseVO.fail("非法访问不能修改!");
             }
 
-            if (StringUtils.isEmpty(sysParameter.getSysKey())) {
+            if (StringUtils.isEmpty(sysParameter.getSysKey()) || StringUtils.isEmpty(sysParameter.getSysKey().trim())) {
                 return ResponseVO.fail("参数名不能为空!");
-            } else if (sysParameter.getSysKey().length() > 50) {
-                return ResponseVO.fail("参数名长度不能超过50个字符!");
-            } else if (!existSysParameter.getSysKey().equals(sysParameter.getSysKey())) {
-                if (!"null".equals(sysParameterService.queryByKey(sysParameter.getSysKey(), "null"))) {
-                    return ResponseVO.fail(sysParameter.getSysKey() + "参数名已存在!");
+            } else {
+                String sysKey = sysParameter.getSysKey().trim();
+                if (sysKey.contains(" ")){
+                    return ResponseVO.fail("参数名不能含有空格!");
+                }
+                if (sysKey.length() > 50) {
+                    return ResponseVO.fail("参数名长度不能超过50个字符!");
+                } else if (!existSysParameter.getSysKey().equals(sysKey)) {
+                    if (!"null".equals(sysParameterService.queryByKey(sysKey, "null"))) {
+                        return ResponseVO.fail(sysKey + "参数名已存在!");
+                    }
                 }
             }
 

+ 6 - 0
backend/src/main/java/com/jiayue/ssi/controller/SysPolicyController.java

@@ -64,6 +64,12 @@ public class SysPolicyController {
                 return ResponseVO.fail("登录失败次数限制请输入1-10整数");
             }
 
+            if (StringUtils.isEmpty(sysPolicy.getPasswordRule())){
+                return ResponseVO.fail("密码规则不能为空!");
+            } else if (sysPolicy.getPasswordRule().split(",").length<3) {
+                return ResponseVO.fail("密码规则至少需要3种以上的组合!");
+            }
+
             if (sysPolicy.getLoginLock() == null) {
                 return ResponseVO.fail("登录失败锁定时长不能为空!");
             } else if (!String.valueOf(sysPolicy.getLoginLock()).matches("^(?:[2-9]\\d|100)$")) {

+ 22 - 6
backend/src/main/java/com/jiayue/ssi/controller/SysRoleController.java

@@ -22,6 +22,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Locale;
 
 
 /**
@@ -120,10 +121,13 @@ public class SysRoleController {
     @PreventReplay
     public ResponseVO addRole(@RequestBody SysRole role) throws CustomException {
         try {
-            if (StringUtils.isEmpty(role.getRoleName())) {
+            if (StringUtils.isEmpty(role.getRoleName()) || StringUtils.isEmpty(role.getRoleName().trim())) {
                 return ResponseVO.fail("角色名称不能为空!");
-            } else if (role.getRoleName().length() > 15) {
-                return ResponseVO.fail("角色名称不能超过15个字符!");
+            } else {
+                String roleName = role.getRoleName().trim();
+                if (roleName.length() > 15) {
+                    return ResponseVO.fail("角色名称不能超过15个字符!");
+                }
             }
             if (StringUtils.isEmpty(role.getRoleKey())) {
                 return ResponseVO.fail("角色权限不能为空!");
@@ -141,6 +145,10 @@ public class SysRoleController {
             if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) {
                 return ResponseVO.fail("新增角色'" + role.getRoleName() + "'失败,"+role.getRoleKey()+"字符标识已存在!");
             }
+            if (role.getRemark().length() > 250) {
+                return ResponseVO.fail("备注不能超过250个字符!");
+            }
+
             role.setCreateBy(SecurityContextUtil.getSysUser().getUsername());
             int i = roleService.insertRole(role);
             if (i > 0) {
@@ -170,10 +178,14 @@ public class SysRoleController {
             if (existRole == null) {
                 return ResponseVO.fail("没有角色,不能修改!");
             }
-            if (StringUtils.isEmpty(role.getRoleName())) {
+
+            if (StringUtils.isEmpty(role.getRoleName()) || StringUtils.isEmpty(role.getRoleName().trim())) {
                 return ResponseVO.fail("角色名称不能为空!");
-            } else if (role.getRoleName().length() > 15) {
-                return ResponseVO.fail("角色名称不能超过15个字符!");
+            } else {
+                String roleName = role.getRoleName().trim();
+                if (roleName.length() > 15) {
+                    return ResponseVO.fail("角色名称不能超过15个字符!");
+                }
             }
             if (StringUtils.isEmpty(role.getRoleKey())) {
                 return ResponseVO.fail("角色权限不能为空!");
@@ -200,6 +212,10 @@ public class SysRoleController {
                 }
             }
 
+            if (role.getRemark().length() > 250) {
+                return ResponseVO.fail("备注不能超过250个字符!");
+            }
+
             if (roleService.updateRole(role) > 0) {
                 return ResponseVO.success("修改角色信息成功");
             } else {

+ 61 - 42
backend/src/main/java/com/jiayue/ssi/controller/SysUserController.java

@@ -163,39 +163,42 @@ public class SysUserController {
     @PreventReplay
     public ResponseVO addUser(@RequestBody SysUser user) throws CustomException {
         try {
-            String username = user.getUsername().trim();
-            if (StringUtils.isEmpty(username)) {
+            if (StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getUsername().trim())) {
                 return ResponseVO.fail("用户账号不能为空!");
-            } else if (sysUserService.queryUserName(username) != null) {
-                return ResponseVO.fail(username + "账号已存在!");
-            } else {
-                String regExp = "^[^0-9][\\w_]{4,19}$";
-                if (!username.matches(regExp)){
-                    return ResponseVO.fail("用户账号长度必须是5-20位,只能包含字母、数字和下划线,不能数字开头!");
-                }
             }
-
-            if (username.contains(" ")){
-                return ResponseVO.fail("账号中不能含有空格!");
+            else {
+                String username = user.getUsername().trim();
+                if (username.contains(" ")){
+                    return ResponseVO.fail("账号中不能含有空格!");
+                }
+                if (sysUserService.queryUserName(username) != null) {
+                    return ResponseVO.fail(username + "账号已存在!");
+                } else {
+                    String regExp = "^[^0-9][\\w_]{4,19}$";
+                    if (!username.matches(regExp)){
+                        return ResponseVO.fail("用户账号长度必须是5-20位,只能包含字母、数字和下划线,不能数字开头!");
+                    }
+                }
             }
 
-            String phoneNumber = user.getPhonenumber().trim();
-            if (StringUtils.isEmpty(phoneNumber)) {
+            if (StringUtils.isEmpty(user.getPhonenumber())) {
                 return ResponseVO.fail("手机号码不能为空!");
-            } else if (!Validator.isMobile(phoneNumber)) {
+            } else if (!Validator.isMobile(user.getPhonenumber())) {
                 return ResponseVO.fail("请输入正确的手机号码!");
             }
             // 加密手机号
-            user.setPhonenumber(AesUtils.encryptHex(phoneNumber).toUpperCase());
+            user.setPhonenumber(AesUtils.encryptHex(user.getPhonenumber()).toUpperCase());
 
-            String nickName = user.getNickname().trim();
-            if (StringUtils.isEmpty(nickName)) {
+            if (StringUtils.isEmpty(user.getNickname()) || StringUtils.isEmpty(user.getNickname().trim())) {
                 return ResponseVO.fail("姓名不能为空!");
-            } else if (nickName.length() > 30) {
-                return ResponseVO.fail("姓名长度不能超过30个字符!");
+            } else {
+                String nickName = user.getNickname().trim();
+                if (nickName.length() > 30) {
+                    return ResponseVO.fail("姓名长度不能超过30个字符!");
+                }
+                // 加密姓名
+                user.setNickname(AesUtils.encryptHex(nickName).toUpperCase());
             }
-            // 加密姓名
-            user.setNickname(AesUtils.encryptHex(nickName).toUpperCase());
 
             if (StringUtils.isEmpty(user.getMailbox())) {
                 return ResponseVO.fail("邮箱不能为空!");
@@ -251,19 +254,22 @@ public class SysUserController {
                 return ResponseVO.fail("此记录存在未审批的操作,不能进行修改!");
             }
 
-            String username = user.getUsername().trim();
-            if (StringUtils.isEmpty(username)) {
+
+            if (StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getUsername().trim())) {
                 return ResponseVO.fail("用户账号不能为空!");
-            } else if (username.length() < 5 || username.length() > 20) {
-                return ResponseVO.fail(username + "用户账号长度必须介于5和20之间!");
-            } else if (!existUser.getUsername().equals(username)) {
-                if (sysUserService.queryUserName(username) != null) {
-                    return ResponseVO.fail(user.getUsername() + "账号已存在!");
+            } else{
+                String username = user.getUsername().trim();
+                if (username.contains(" ")){
+                    return ResponseVO.fail("账号中不能含有空格!");
+                }
+                String regExp = "^[^0-9][\\w_]{4,19}$";
+                if (!username.matches(regExp)){
+                    return ResponseVO.fail("用户账号长度必须是5-20位,只能包含字母、数字和下划线,不能数字开头!");
+                } else if (!existUser.getUsername().equals(username)) {
+                    if (sysUserService.queryUserName(username) != null) {
+                        return ResponseVO.fail(username + "账号已存在!");
+                    }
                 }
-            }
-
-            if (username.contains(" ")){
-                return ResponseVO.fail("账号中不能含有空格!");
             }
 
             if (StringUtils.isEmpty(user.getMailbox())) {
@@ -280,23 +286,36 @@ public class SysUserController {
             // 加密邮箱
             user.setMailbox(AesUtils.encryptHex(user.getMailbox()).toUpperCase());
 
-            String phoneNumber = user.getPhonenumber().trim();
-            if (StringUtils.isEmpty(phoneNumber)) {
+            if (StringUtils.isEmpty(user.getPhonenumber())) {
                 return ResponseVO.fail("手机号码不能为空!");
-            } else if (!Validator.isMobile(phoneNumber)) {
+            } else if (!Validator.isMobile(user.getPhonenumber())) {
                 return ResponseVO.fail("请输入正确的手机号码!");
             }
             // 加密手机号
             user.setPhonenumber(AesUtils.encryptHex(user.getPhonenumber()).toUpperCase());
 
-            String nickName = user.getNickname().trim();
-            if (StringUtils.isEmpty(nickName)) {
+            if (StringUtils.isEmpty(user.getNickname()) || StringUtils.isEmpty(user.getNickname().trim())) {
                 return ResponseVO.fail("姓名不能为空!");
-            } else if (nickName.length() > 30) {
-                return ResponseVO.fail("姓名长度不能超过30个字符!");
+            } else {
+                String nickName = user.getNickname().trim();
+                if (nickName.length() > 30) {
+                    return ResponseVO.fail("姓名长度不能超过30个字符!");
+                }
+                // 加密姓名
+                user.setNickname(AesUtils.encryptHex(nickName).toUpperCase());
+            }
+
+
+            if (StringUtils.isEmpty(user.getNickname()) || StringUtils.isEmpty(user.getNickname().trim())) {
+                return ResponseVO.fail("姓名不能为空!");
+            } else {
+                String nickName = user.getNickname().trim();
+                if (nickName.length() > 30) {
+                    return ResponseVO.fail("姓名长度不能超过30个字符!");
+                }
+                // 加密姓名
+                user.setNickname(AesUtils.encryptHex(nickName).toUpperCase());
             }
-            // 加密姓名
-            user.setNickname(AesUtils.encryptHex(nickName).toUpperCase());
 
             if ("0".equals(user.getStatus())) {
                 user.setErrNum(0);