From 6b492db7d1457af687db307a40484f3b52bbf1a5 Mon Sep 17 00:00:00 2001 From: liuxm <liuxm@fescotech.com> Date: 星期二, 14 五月 2024 16:20:41 +0800 Subject: [PATCH] 修改登录验证:手机号除admin 外长度必须为11 --- pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLengthValidator.java | 22 ++++++++++++++++++++++ pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/LoginVo.java | 4 +++- pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java | 3 +-- pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLength.java | 21 +++++++++++++++++++++ 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLength.java b/pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLength.java new file mode 100644 index 0000000..b1bc4ba --- /dev/null +++ b/pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLength.java @@ -0,0 +1,21 @@ +package com.dy.common.aop; + +import jakarta.validation.Constraint; +import jakarta.validation.Payload; +import java.lang.annotation.*; + +@Documented +@Constraint(validatedBy = CheckLengthValidator.class) +@Target({ElementType.FIELD, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface CheckLength { + + int min() default 11; + int max() default 12; + + String message() default "鎵嬫満鍙烽暱搴﹀繀椤绘槸11浣�"; + + Class<?>[] groups() default {}; + + Class<? extends Payload>[] payload() default {}; +} diff --git a/pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLengthValidator.java b/pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLengthValidator.java new file mode 100644 index 0000000..746f127 --- /dev/null +++ b/pms-parent/pms-common/src/main/java/com/dy/common/aop/CheckLengthValidator.java @@ -0,0 +1,22 @@ +package com.dy.common.aop; + +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +public class CheckLengthValidator implements ConstraintValidator<CheckLength, String> { + + private int min; + private int max; + @Override + public void initialize(CheckLength constraintAnnotation) { + this.min = constraintAnnotation.min(); + this.max = constraintAnnotation.max(); + } + @Override + public boolean isValid(String value, ConstraintValidatorContext context) { + if ("admin".equals(value)) { + return true; // 濡傛灉鏄痑dmin锛屼笉杩涜闀垮害鏍¢獙 + } + return value != null && value.length() >= min && value.length() <= max; + } +} diff --git a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/LoginVo.java b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/LoginVo.java index b1b32b5..2c0c1ba 100644 --- a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/LoginVo.java +++ b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/LoginVo.java @@ -1,5 +1,6 @@ package com.dy.sso.busi; +import com.dy.common.aop.CheckLength; import jakarta.validation.constraints.NotEmpty; import lombok.*; import org.hibernate.validator.constraints.Length; @@ -20,7 +21,8 @@ public class LoginVo { @NotEmpty(message = "鎵嬫満鍙蜂笉鑳戒负绌�") //涓嶈兘涓虹┖涔熶笉鑳戒负null //@NotNull(message = "鎵嬫満鍙蜂笉鑳戒负绌�") //涓嶈兘涓簄ull浣嗘槸鍙互涓虹┖ - @Length(message = "鎵嬫満鍙峰繀椤粄min}浣�", min = 11, max = 11) +// @Length(message = "鎵嬫満鍙峰繀椤粄min}浣�", min = 11, max = 11) + @CheckLength(message = "鎵嬫満鍙峰繀椤粄min}浣�", min = 11, max = 11) public String phone ; @NotEmpty(message = "瀵嗙爜涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null diff --git a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java index 8e93c9c..9ff5572 100644 --- a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java +++ b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java @@ -53,7 +53,7 @@ * @return 鐧诲綍鐢ㄦ埛鍊煎璞� */ @PostMapping(path = "login", consumes = MediaType.APPLICATION_JSON_VALUE)//鍓嶇鎻愪氦json鏁版嵁 - @Log("鐢ㄦ埛鐧诲綍(json)") + @Log("鐢ㄦ埛鐧诲綍") public BaseResponse<UserVo> login(@RequestBody @Valid LoginVo vo,BindingResult bindingResult, HttpSession session) { try { @@ -83,7 +83,6 @@ * @return 鐧诲綍鐢ㄦ埛鍊煎璞� */ @PostMapping(path = "loginForm", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)//鍓嶇鎻愪氦form琛ㄥ崟鏁版嵁 - @Log("鐢ㄦ埛鐧诲綍(form)") public BaseResponse<UserVo> loginForm(@Valid LoginVo loginVo, BindingResult bindingResult,HttpSession session){ try{ if(bindingResult != null && bindingResult.hasErrors()){ -- Gitblit v1.8.0