From 434ce2ce2001b93b680ec61610bce5b55ecc8d2a Mon Sep 17 00:00:00 2001 From: fshenye <512914587@qq.com> Date: Fri, 21 Oct 2022 16:14:50 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=96=B0=E5=A2=9E=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E9=94=81=E5=AE=9A=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/bootstrap-dev.yml | 4 +--- .../GlobalExceptionHandlerResolver.java | 24 +++++++++++++++++++ .../security/config/ReloadMessageConfig.java | 18 ++++++++++++++ 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/config/ReloadMessageConfig.java diff --git a/cloud-auth/src/main/resources/bootstrap-dev.yml b/cloud-auth/src/main/resources/bootstrap-dev.yml index 8d99621..3bb18e8 100644 --- a/cloud-auth/src/main/resources/bootstrap-dev.yml +++ b/cloud-auth/src/main/resources/bootstrap-dev.yml @@ -15,6 +15,4 @@ spring: config: namespace: be9383c3-e535-4e9c-81ab-a8c6b7ecdc82 file-extension: yml - shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/component/GlobalExceptionHandlerResolver.java b/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/component/GlobalExceptionHandlerResolver.java index 40c52db..0c8cafd 100644 --- a/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/component/GlobalExceptionHandlerResolver.java +++ b/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/component/GlobalExceptionHandlerResolver.java @@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.security.access.AccessDeniedException; +import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.SpringSecurityMessageSource; import org.springframework.validation.BindException; import org.springframework.validation.FieldError; @@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestControllerAdvice; +import javax.security.auth.login.AccountLockedException; import javax.servlet.http.HttpServletRequest; import javax.validation.ConstraintViolationException; import java.util.stream.Collectors; @@ -77,6 +79,28 @@ public class GlobalExceptionHandlerResolver { return objectR; } + @ExceptionHandler({BadCredentialsException.class}) + @ResponseStatus(HttpStatus.OK) + public R handleBadCredentialsException(BadCredentialsException exception) { + R objectR = R.builder() + .code(Constant.BYTE_NO) + .msg(exception.getMessage()) + .build(); + + return objectR; + } + + @ExceptionHandler({AccountLockedException.class}) + @ResponseStatus(HttpStatus.OK) + public R handleBAccountLockedException(AccountLockedException exception) { + R objectR = R.builder() + .code(Constant.BYTE_NO) + .msg(exception.getMessage()) + .build(); + + return objectR; + } + /** * AccessDeniedException * diff --git a/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/config/ReloadMessageConfig.java b/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/config/ReloadMessageConfig.java new file mode 100644 index 0000000..805817b --- /dev/null +++ b/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/config/ReloadMessageConfig.java @@ -0,0 +1,18 @@ +package cn.sh.stc.sict.cloud.common.security.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.support.ReloadableResourceBundleMessageSource; + +//security中文提示信息配置类 +@Configuration +public class ReloadMessageConfig { + + @Bean //加载中文认证提示信息 + public ReloadableResourceBundleMessageSource messageSource(){ + ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); + //加载org/springframework/security包下的中文提示信息 配置文件 + messageSource.setBasename("classpath:security/messages_zh_CN"); + return messageSource; + } +} -- 2.22.0