From a5437968b9cbf20864e3dad78ce614eb89178b25 Mon Sep 17 00:00:00 2001 From: lengleng Date: Thu, 4 Jun 2020 12:24:39 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=20#1337=20=E7=A4=BE?= =?UTF-8?q?=E4=BA=A4=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E5=87=AD=E8=AF=81?= =?UTF-8?q?=E5=B7=B2=E8=BF=87=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/2pigxx.sql | 2 +- .../ResourceAuthExceptionEntryPoint.java | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/db/2pigxx.sql b/db/2pigxx.sql index 2b5523b0a..a6b741cc5 100644 --- a/db/2pigxx.sql +++ b/db/2pigxx.sql @@ -229,7 +229,7 @@ CREATE TABLE `sys_log` ( `type` char(1) DEFAULT '0', `title` varchar(255) DEFAULT NULL, `service_id` varchar(32) DEFAULT NULL, - `create_by` varchar(64) DEFAULT NULL, + `create_by` varchar(255) DEFAULT NULL, `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `remote_addr` varchar(255) DEFAULT NULL, diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/ResourceAuthExceptionEntryPoint.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/ResourceAuthExceptionEntryPoint.java index b05ec5651..cb5e0a315 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/ResourceAuthExceptionEntryPoint.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/ResourceAuthExceptionEntryPoint.java @@ -25,8 +25,10 @@ import lombok.AllArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; +import org.springframework.security.authentication.CredentialsExpiredException; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.SpringSecurityMessageSource; +import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; @@ -53,13 +55,22 @@ public class ResourceAuthExceptionEntryPoint implements AuthenticationEntryPoint response.setCharacterEncoding(CommonConstants.UTF8); response.setContentType(MediaType.APPLICATION_JSON_VALUE); R result = new R<>(); + result.setMsg(authException.getMessage()); + result.setData(authException.getMessage()); result.setCode(CommonConstants.FAIL); - if (authException != null) { + + if (authException instanceof CredentialsExpiredException) { String msg = SpringSecurityMessageSource.getAccessor().getMessage( "AbstractUserDetailsAuthenticationProvider.credentialsExpired", authException.getMessage()); result.setMsg(msg); - result.setData(authException.getMessage()); } + + if (authException instanceof UsernameNotFoundException) { + String msg = SpringSecurityMessageSource.getAccessor().getMessage( + "AbstractUserDetailsAuthenticationProvider.noopBindAccount", authException.getMessage()); + result.setMsg(msg); + } + response.setStatus(HttpStatus.HTTP_UNAUTHORIZED); PrintWriter printWriter = response.getWriter(); printWriter.append(objectMapper.writeValueAsString(result));