From 38469fefe52f214a13dfa5df5ede85bd57063ff5 Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Wed, 25 Dec 2024 22:39:07 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B3=A8=E9=87=8A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../youlai/boot/common/annotation/ValidField.java | 13 ++++++++++--- .../boot/common/base/BaseAnalysisEventListener.java | 2 +- .../boot/common/constant/SecurityConstants.java | 13 +++---------- .../com/youlai/boot/common/util/ResponseUtils.java | 2 +- .../java/com/youlai/boot/config/MybatisConfig.java | 2 +- .../security/exception/MyAccessDeniedHandler.java | 11 ++++++----- .../exception/MyAuthenticationEntryPoint.java | 5 ++--- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/youlai/boot/common/annotation/ValidField.java b/src/main/java/com/youlai/boot/common/annotation/ValidField.java index 78914916..14b3ae44 100644 --- a/src/main/java/com/youlai/boot/common/annotation/ValidField.java +++ b/src/main/java/com/youlai/boot/common/annotation/ValidField.java @@ -1,19 +1,26 @@ package com.youlai.boot.common.annotation; - import com.youlai.boot.core.validator.FieldValidator; import jakarta.validation.Constraint; import jakarta.validation.Payload; import java.lang.annotation.*; +/** + * 用于验证字段值是否合法的注解 + * + * @author Ray.Hao + * @since 2.18.0 + */ @Documented @Constraint(validatedBy = FieldValidator.class) @Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) public @interface ValidField { - + /** + * 验证失败时的错误信息。 + */ String message() default "非法字段"; Class[] groups() default {}; @@ -21,7 +28,7 @@ public @interface ValidField { Class[] payload() default {}; /** - * 允许的字段值 + * 允许的合法值列表。 */ String[] allowedValues(); diff --git a/src/main/java/com/youlai/boot/common/base/BaseAnalysisEventListener.java b/src/main/java/com/youlai/boot/common/base/BaseAnalysisEventListener.java index e118a9e8..9f896f9e 100644 --- a/src/main/java/com/youlai/boot/common/base/BaseAnalysisEventListener.java +++ b/src/main/java/com/youlai/boot/common/base/BaseAnalysisEventListener.java @@ -5,7 +5,7 @@ import com.alibaba.excel.event.AnalysisEventListener; /** * 自定义解析结果监听器 * - * @author haoxr + * @author Ray.Hao * @since 2023/03/01 */ public abstract class BaseAnalysisEventListener extends AnalysisEventListener { diff --git a/src/main/java/com/youlai/boot/common/constant/SecurityConstants.java b/src/main/java/com/youlai/boot/common/constant/SecurityConstants.java index a85b1dcb..f9090601 100644 --- a/src/main/java/com/youlai/boot/common/constant/SecurityConstants.java +++ b/src/main/java/com/youlai/boot/common/constant/SecurityConstants.java @@ -1,9 +1,9 @@ package com.youlai.boot.common.constant; /** - * 缓存常量 + * 安全模块常量 * - * @author haoxr + * @author Ray.Hao * @since 2023/11/24 */ public interface SecurityConstants { @@ -23,25 +23,18 @@ public interface SecurityConstants { */ String BLACKLIST_TOKEN_PREFIX = "token:blacklist:"; - /** * 登录路径 */ String LOGIN_PATH = "/api/v1/auth/login"; - /** * JWT Token 前缀 */ String JWT_TOKEN_PREFIX = "Bearer "; /** - * 微信登录路径 - */ - String WECHAT_LOGIN_PATH = "/api/v1/auth/wechat-login"; - - /** - * 角色前缀 Spring Security 的 authorities 角色前缀,用于区分角色和权限 + * 角色前缀,用于区分 authorities 角色和权限, ROLE_* 角色 、没有前缀的是权限 */ String ROLE_PREFIX = "ROLE_"; } diff --git a/src/main/java/com/youlai/boot/common/util/ResponseUtils.java b/src/main/java/com/youlai/boot/common/util/ResponseUtils.java index 45e6b79e..4cbede1f 100644 --- a/src/main/java/com/youlai/boot/common/util/ResponseUtils.java +++ b/src/main/java/com/youlai/boot/common/util/ResponseUtils.java @@ -15,7 +15,7 @@ import java.nio.charset.StandardCharsets; /** * 响应工具类 * - * @author Ray Hao + * @author Ray.Hao * @since 2.0.0 */ @Slf4j diff --git a/src/main/java/com/youlai/boot/config/MybatisConfig.java b/src/main/java/com/youlai/boot/config/MybatisConfig.java index a92b40f6..233792be 100644 --- a/src/main/java/com/youlai/boot/config/MybatisConfig.java +++ b/src/main/java/com/youlai/boot/config/MybatisConfig.java @@ -12,7 +12,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; /** - * mybatis-plus 自动配置类 + * mybatis-plus 配置类 * * @author Ray.Hao * @since 2022/7/2 diff --git a/src/main/java/com/youlai/boot/core/security/exception/MyAccessDeniedHandler.java b/src/main/java/com/youlai/boot/core/security/exception/MyAccessDeniedHandler.java index 60f9041b..5efbfbff 100644 --- a/src/main/java/com/youlai/boot/core/security/exception/MyAccessDeniedHandler.java +++ b/src/main/java/com/youlai/boot/core/security/exception/MyAccessDeniedHandler.java @@ -11,15 +11,16 @@ import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; /** - * Spring Security访问异常处理器 + * 无权限访问处理器 * - * @author haoxr - * @since 2022/10/18 + * @author Ray.Hao + * @since 2.0.0 */ -@Component public class MyAccessDeniedHandler implements AccessDeniedHandler { + @Override - public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException { + public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) { ResponseUtils.writeErrMsg(response, ResultCode.ACCESS_UNAUTHORIZED); } + } diff --git a/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java b/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java index ddcae7d4..7fc1fb42 100644 --- a/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java +++ b/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java @@ -15,12 +15,11 @@ import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; /** - * 认证异常处理 + * 未认证处理器 * * @author Ray.Hao * @since 2.0.0 */ -@Component public class MyAuthenticationEntryPoint implements AuthenticationEntryPoint { @Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException { @@ -29,7 +28,7 @@ public class MyAuthenticationEntryPoint implements AuthenticationEntryPoint { // 资源不存在 ResponseUtils.writeErrMsg(response, ResultCode.USER_RESOURCE_NOT_FOUND); } else { - if (authException instanceof UsernameNotFoundException || authException instanceof BadCredentialsException) { + if (authException instanceof BadCredentialsException) { // 用户名或密码错误 ResponseUtils.writeErrMsg(response, ResultCode.USER_PASSWORD_ERROR); } else {