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