Browse Source

chore: AbstractAuth weakly consistent

master
wangxiang 2 years ago
parent
commit
f72028433d
No known key found for this signature in database
GPG Key ID: 1BA7946AB6B232E4
  1. 4
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/aspect/SecurityInnerAspect.java
  2. 10
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/config/ResourceServerAutoConfiguration.java
  3. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccLocalResourceServerTokenServices.java
  4. 6
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccResourceServerConfigurerAdapter.java
  5. 8
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/ResourceAuthExceptionEntryPoint.java
  6. 4
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
  7. 4
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
  8. 15
      pom.xml

4
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/aspect/SecurityInnerAspect.java

@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
import org.springframework.core.annotation.AnnotationUtils; import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.security.access.AccessDeniedException; import org.springframework.security.access.AccessDeniedException;
@ -29,7 +30,8 @@ import javax.servlet.http.HttpServletRequest;
@RequiredArgsConstructor @RequiredArgsConstructor
public class SecurityInnerAspect implements Ordered { public class SecurityInnerAspect implements Ordered {
private final HttpServletRequest request; @Autowired(required = false)
private HttpServletRequest request;
@SneakyThrows @SneakyThrows
@Around("@within(inner) || @annotation(inner)") @Around("@within(inner) || @annotation(inner)")

10
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/config/ResourceServerAutoConfiguration.java

@ -5,14 +5,11 @@ import com.cloud.kicc.common.security.exp.PermissionService;
import com.cloud.kicc.common.security.exp.PermitAllUrlProperties; import com.cloud.kicc.common.security.exp.PermitAllUrlProperties;
import com.cloud.kicc.common.security.exp.ResourceAuthExceptionEntryPoint; import com.cloud.kicc.common.security.exp.ResourceAuthExceptionEntryPoint;
import com.cloud.kicc.common.security.override.KiccBearerTokenExtractor; import com.cloud.kicc.common.security.override.KiccBearerTokenExtractor;
import com.cloud.kicc.common.security.properties.CasProperties; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import com.cloud.kicc.common.security.template.UserProviderTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices; import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
import org.springframework.security.oauth2.provider.token.TokenStore;
/** /**
*<p> *<p>
@ -39,8 +36,9 @@ public class ResourceServerAutoConfiguration {
/** 细粒化客户端认证异常处理 */ /** 细粒化客户端认证异常处理 */
@Bean @Bean
public ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint(ObjectMapper objectMapper) { @ConditionalOnMissingBean
return new ResourceAuthExceptionEntryPoint(objectMapper); public ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint() {
return new ResourceAuthExceptionEntryPoint();
} }
/** 扩展资源服务器令牌服务 */ /** 扩展资源服务器令牌服务 */

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccLocalResourceServerTokenServices.java

@ -49,7 +49,7 @@ public class KiccLocalResourceServerTokenServices implements ResourceServerToken
@Autowired @Autowired
private TokenStore tokenStore; private TokenStore tokenStore;
@Autowired @Autowired(required = false)
private UserProviderTemplate userProviderTemplate; private UserProviderTemplate userProviderTemplate;
@Autowired @Autowired

6
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccResourceServerConfigurerAdapter.java

@ -8,14 +8,13 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer; import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer; import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
import org.springframework.security.oauth2.provider.token.RemoteTokenServices;
import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices; import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
/** /**
*<p> *<p>
* 资源服务配置适配器 * 资源服务配置适配器
* 覆盖内部不合适的实现,实现适配 * 覆盖内部不合适的实现,实现适配
* 1. 支持remoteTokenServices 负载均衡,后期出 * 1. todo: 支持remoteTokenServices 负载均衡 待实
* 2. 支持 获取用户全部信息 * 2. 支持 获取用户全部信息
* 3. 接口对外暴露不校验 Authentication Header * 3. 接口对外暴露不校验 Authentication Header
*</p> *</p>
@ -29,8 +28,7 @@ public class KiccResourceServerConfigurerAdapter extends ResourceServerConfigure
@Autowired @Autowired
protected ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint; protected ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint;
@Autowired //protected RemoteTokenServices remoteTokenServices;
protected RemoteTokenServices remoteTokenServices;
@Autowired @Autowired
private PermitAllUrlProperties permitAllUrl; private PermitAllUrlProperties permitAllUrl;

8
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/ResourceAuthExceptionEntryPoint.java

@ -1,13 +1,13 @@
package com.cloud.kicc.common.security.exp; package com.cloud.kicc.common.security.exp;
import cn.hutool.http.HttpStatus; import cn.hutool.http.HttpStatus;
import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.enums.ExceptionEnum; import com.cloud.kicc.common.core.enums.ExceptionEnum;
import com.cloud.kicc.common.security.exception.UnConfiguredUserDataException; import com.cloud.kicc.common.security.exception.UnConfiguredUserDataException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.InsufficientAuthenticationException; import org.springframework.security.authentication.InsufficientAuthenticationException;
import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.AuthenticationEntryPoint;
@ -25,10 +25,10 @@ import java.io.PrintWriter;
* @Author: wangxiang4 * @Author: wangxiang4
* @Date: 2022/2/17 * @Date: 2022/2/17
*/ */
@RequiredArgsConstructor
public class ResourceAuthExceptionEntryPoint implements AuthenticationEntryPoint { public class ResourceAuthExceptionEntryPoint implements AuthenticationEntryPoint {
private final ObjectMapper objectMapper; @Autowired
private ObjectMapper objectMapper;
@Override @Override
@SneakyThrows @SneakyThrows

4
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java

@ -8,6 +8,7 @@ import com.cloud.kicc.common.security.template.UserProviderTemplate;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
/** /**
@ -22,7 +23,8 @@ import org.springframework.security.core.userdetails.UserDetails;
@RequiredArgsConstructor @RequiredArgsConstructor
public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService { public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService {
private final UserProviderTemplate userProviderTemplate; @Autowired(required = false)
private UserProviderTemplate userProviderTemplate;
/** /**
* 手机号登录 * 手机号登录

4
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java

@ -6,6 +6,7 @@ import com.cloud.kicc.common.security.template.UserProviderTemplate;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
@ -22,7 +23,8 @@ import org.springframework.security.core.userdetails.UserDetails;
@RequiredArgsConstructor @RequiredArgsConstructor
public class KiccUserDetailsServiceImpl implements KiccUserDetailsService { public class KiccUserDetailsServiceImpl implements KiccUserDetailsService {
private final UserProviderTemplate userProviderTemplate; @Autowired(required = false)
private UserProviderTemplate userProviderTemplate;
/** /**
* 用户名密码登录 * 用户名密码登录

15
pom.xml

@ -31,6 +31,7 @@
<git.commit.plugin>4.9.9</git.commit.plugin> <git.commit.plugin>4.9.9</git.commit.plugin>
<spring.checkstyle.plugin>0.0.29</spring.checkstyle.plugin> <spring.checkstyle.plugin>0.0.29</spring.checkstyle.plugin>
<apache.compiler.plugin>3.8.1</apache.compiler.plugin> <apache.compiler.plugin>3.8.1</apache.compiler.plugin>
<apache.source.plugin>3.3.0</apache.source.plugin>
<docker.plugin.version>0.32.0</docker.plugin.version> <docker.plugin.version>0.32.0</docker.plugin.version>
<docker.host>https://114.55.129.122:2276</docker.host> <docker.host>https://114.55.129.122:2276</docker.host>
<docker.certPath>/usr/local/docker-ssl-kicc</docker.certPath> <docker.certPath>/usr/local/docker-ssl-kicc</docker.certPath>
@ -236,6 +237,20 @@
<encoding>${project.build.sourceEncoding}</encoding> <encoding>${project.build.sourceEncoding}</encoding>
</configuration> </configuration>
</plugin> </plugin>
<!--生成jar源代码-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${apache.source.plugin}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

Loading…
Cancel
Save