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; @@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.security.access.AccessDeniedException;
@ -29,7 +30,8 @@ import javax.servlet.http.HttpServletRequest; @@ -29,7 +30,8 @@ import javax.servlet.http.HttpServletRequest;
@RequiredArgsConstructor
public class SecurityInnerAspect implements Ordered {
private final HttpServletRequest request;
@Autowired(required = false)
private HttpServletRequest request;
@SneakyThrows
@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; @@ -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.ResourceAuthExceptionEntryPoint;
import com.cloud.kicc.common.security.override.KiccBearerTokenExtractor;
import com.cloud.kicc.common.security.properties.CasProperties;
import com.cloud.kicc.common.security.template.UserProviderTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
import org.springframework.security.oauth2.provider.token.TokenStore;
/**
*<p>
@ -39,8 +36,9 @@ public class ResourceServerAutoConfiguration { @@ -39,8 +36,9 @@ public class ResourceServerAutoConfiguration {
/** 细粒化客户端认证异常处理 */
@Bean
public ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint(ObjectMapper objectMapper) {
return new ResourceAuthExceptionEntryPoint(objectMapper);
@ConditionalOnMissingBean
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 @@ -49,7 +49,7 @@ public class KiccLocalResourceServerTokenServices implements ResourceServerToken
@Autowired
private TokenStore tokenStore;
@Autowired
@Autowired(required = false)
private UserProviderTemplate userProviderTemplate;
@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; @@ -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.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
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;
/**
*<p>
* 资源服务配置适配器
* 覆盖内部不合适的实现,实现适配
* 1. 支持remoteTokenServices 负载均衡,后期出
* 1. todo: 支持remoteTokenServices 负载均衡 待实
* 2. 支持 获取用户全部信息
* 3. 接口对外暴露不校验 Authentication Header
*</p>
@ -29,8 +28,7 @@ public class KiccResourceServerConfigurerAdapter extends ResourceServerConfigure @@ -29,8 +28,7 @@ public class KiccResourceServerConfigurerAdapter extends ResourceServerConfigure
@Autowired
protected ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint;
@Autowired
protected RemoteTokenServices remoteTokenServices;
//protected RemoteTokenServices remoteTokenServices;
@Autowired
private PermitAllUrlProperties permitAllUrl;

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

@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
package com.cloud.kicc.common.security.exp;
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.constant.CommonConstants;
import com.cloud.kicc.common.core.enums.ExceptionEnum;
import com.cloud.kicc.common.security.exception.UnConfiguredUserDataException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.InsufficientAuthenticationException;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
@ -25,10 +25,10 @@ import java.io.PrintWriter; @@ -25,10 +25,10 @@ import java.io.PrintWriter;
* @Author: wangxiang4
* @Date: 2022/2/17
*/
@RequiredArgsConstructor
public class ResourceAuthExceptionEntryPoint implements AuthenticationEntryPoint {
private final ObjectMapper objectMapper;
@Autowired
private ObjectMapper objectMapper;
@Override
@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; @@ -8,6 +8,7 @@ import com.cloud.kicc.common.security.template.UserProviderTemplate;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
/**
@ -22,7 +23,8 @@ import org.springframework.security.core.userdetails.UserDetails; @@ -22,7 +23,8 @@ import org.springframework.security.core.userdetails.UserDetails;
@RequiredArgsConstructor
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; @@ -6,6 +6,7 @@ import com.cloud.kicc.common.security.template.UserProviderTemplate;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.security.core.userdetails.UserDetails;
@ -22,7 +23,8 @@ import org.springframework.security.core.userdetails.UserDetails; @@ -22,7 +23,8 @@ import org.springframework.security.core.userdetails.UserDetails;
@RequiredArgsConstructor
public class KiccUserDetailsServiceImpl implements KiccUserDetailsService {
private final UserProviderTemplate userProviderTemplate;
@Autowired(required = false)
private UserProviderTemplate userProviderTemplate;
/**
* 用户名密码登录

15
pom.xml

@ -31,6 +31,7 @@ @@ -31,6 +31,7 @@
<git.commit.plugin>4.9.9</git.commit.plugin>
<spring.checkstyle.plugin>0.0.29</spring.checkstyle.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.host>https://114.55.129.122:2276</docker.host>
<docker.certPath>/usr/local/docker-ssl-kicc</docker.certPath>
@ -236,6 +237,20 @@ @@ -236,6 +237,20 @@
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</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>
</build>

Loading…
Cancel
Save