mirror of
https://gitee.com/log4j/pig.git
synced 2024-12-31 08:14:18 +08:00
♻️ Refactoring code. token 过期异常通过i18n 格式化
This commit is contained in:
parent
5abdbd9783
commit
4aef60b0c4
@ -19,6 +19,7 @@ package com.pig4cloud.pig.common.security.component;
|
|||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService;
|
import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService;
|
||||||
import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector;
|
import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector;
|
||||||
@ -53,11 +54,13 @@ public class PigResourceServerAutoConfiguration {
|
|||||||
/**
|
/**
|
||||||
* 资源服务器异常处理
|
* 资源服务器异常处理
|
||||||
* @param objectMapper jackson 输出对象
|
* @param objectMapper jackson 输出对象
|
||||||
|
* @param securityMessageSource 自定义国际化处理器
|
||||||
* @return ResourceAuthExceptionEntryPoint
|
* @return ResourceAuthExceptionEntryPoint
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint(ObjectMapper objectMapper) {
|
public ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint(ObjectMapper objectMapper,
|
||||||
return new ResourceAuthExceptionEntryPoint(objectMapper);
|
MessageSource securityMessageSource) {
|
||||||
|
return new ResourceAuthExceptionEntryPoint(objectMapper, securityMessageSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,6 +22,8 @@ import com.pig4cloud.pig.common.core.constant.CommonConstants;
|
|||||||
import com.pig4cloud.pig.common.core.util.R;
|
import com.pig4cloud.pig.common.core.util.R;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
import org.springframework.security.core.AuthenticationException;
|
import org.springframework.security.core.AuthenticationException;
|
||||||
import org.springframework.security.oauth2.server.resource.InvalidBearerTokenException;
|
import org.springframework.security.oauth2.server.resource.InvalidBearerTokenException;
|
||||||
import org.springframework.security.web.AuthenticationEntryPoint;
|
import org.springframework.security.web.AuthenticationEntryPoint;
|
||||||
@ -41,6 +43,8 @@ public class ResourceAuthExceptionEntryPoint implements AuthenticationEntryPoint
|
|||||||
|
|
||||||
private final ObjectMapper objectMapper;
|
private final ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void commence(HttpServletRequest request, HttpServletResponse response,
|
public void commence(HttpServletRequest request, HttpServletResponse response,
|
||||||
@ -58,7 +62,8 @@ public class ResourceAuthExceptionEntryPoint implements AuthenticationEntryPoint
|
|||||||
// 针对令牌过期返回特殊的 424
|
// 针对令牌过期返回特殊的 424
|
||||||
if (authException instanceof InvalidBearerTokenException) {
|
if (authException instanceof InvalidBearerTokenException) {
|
||||||
response.setStatus(org.springframework.http.HttpStatus.FAILED_DEPENDENCY.value());
|
response.setStatus(org.springframework.http.HttpStatus.FAILED_DEPENDENCY.value());
|
||||||
result.setMsg("token expire");
|
result.setMsg(this.messageSource.getMessage("OAuth2ResourceOwnerBaseAuthenticationProvider.tokenExpired",
|
||||||
|
null, LocaleContextHolder.getLocale()));
|
||||||
}
|
}
|
||||||
PrintWriter printWriter = response.getWriter();
|
PrintWriter printWriter = response.getWriter();
|
||||||
printWriter.append(objectMapper.writeValueAsString(result));
|
printWriter.append(objectMapper.writeValueAsString(result));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
AbstractAccessDecisionManager.accessDenied=\u4E0D\u5141\u8BB8\u8BBF\u95EE
|
AbstractAccessDecisionManager.accessDenied=\u4E0D\u5141\u8BB8\u8BBF\u95EE
|
||||||
AbstractLdapAuthenticationProvider.emptyPassword=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF
|
AbstractLdapAuthenticationProvider.emptyPassword=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF
|
||||||
AbstractSecurityInterceptor.authenticationNotFound=\u672A\u5728SecurityContext\u4E2D\u67E5\u627E\u5230\u8BA4\u8BC1\u5BF9\u8C61
|
AbstractSecurityInterceptor.authenticationNotFound=\u672A\u5728SecurityContext\u4E2D\u67E5\u627E\u5230\u8BA4\u8BC1\u5BF9\u8C61
|
||||||
|
OAuth2ResourceOwnerBaseAuthenticationProvider.tokenExpired=\u8BF7\u6C42\u4EE4\u724C\u5DF2\u8FC7\u671F
|
||||||
AbstractUserDetailsAuthenticationProvider.badCredentials=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF
|
AbstractUserDetailsAuthenticationProvider.badCredentials=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF
|
||||||
AbstractUserDetailsAuthenticationProvider.credentialsExpired=\u7528\u6237\u51ED\u8BC1\u5DF2\u8FC7\u671F
|
AbstractUserDetailsAuthenticationProvider.credentialsExpired=\u7528\u6237\u51ED\u8BC1\u5DF2\u8FC7\u671F
|
||||||
AbstractUserDetailsAuthenticationProvider.disabled=\u7528\u6237\u5DF2\u5931\u6548
|
AbstractUserDetailsAuthenticationProvider.disabled=\u7528\u6237\u5DF2\u5931\u6548
|
||||||
|
Loading…
Reference in New Issue
Block a user