Bläddra i källkod

update 优化新增修改菜单权限字符校验

AprilWind 1 år sedan
förälder
incheckning
bb59cb204d

+ 5 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/RegexConstants.java

@@ -16,6 +16,11 @@ public interface RegexConstants extends RegexPool {
      */
     public static final String DICTIONARY_TYPE = "^[a-z][a-z0-9_]*$";
 
+    /**
+     * 权限标识必须符合 tool:build:list 格式,或者空字符串
+     */
+    public static final String PERMISSION_STRING = "^(|^[a-zA-Z0-9_]+:[a-zA-Z0-9_]+:[a-zA-Z0-9_]+)$";
+
     /**
      * 身份证号码(后6位)
      */

+ 3 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysMenuBo.java

@@ -4,9 +4,11 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 import io.github.linpeilie.annotations.AutoMapper;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.dromara.common.core.constant.RegexConstants;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.system.domain.SysMenu;
 
@@ -92,6 +94,7 @@ public class SysMenuBo extends BaseEntity {
      */
     @JsonInclude(JsonInclude.Include.NON_NULL)
     @Size(min = 0, max = 100, message = "权限标识长度不能超过{max}个字符")
+    @Pattern(regexp = RegexConstants.PERMISSION_STRING, message = "权限标识必须符合 tool:build:list 格式")
     private String perms;
 
     /**
@@ -104,5 +107,4 @@ public class SysMenuBo extends BaseEntity {
      */
     private String remark;
 
-
 }