From 75b089c8ade558c3a1b956bbed0f43d5e5aa952a Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Wed, 8 Dec 2021 16:11:37 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=90=8C=E6=97=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=90=8C=E6=AD=A5=E5=92=8C=E5=BC=82=E6=AD=A5=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E4=BF=9D=E8=AF=81dbref=E6=9A=82=E6=97=B6=E5=8F=AF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flyfish-data/pom.xml | 5 +++++ .../framework/annotations/EnableReactiveMongoRepo.java | 1 + .../framework/auditor/ReactiveAuthorizeAuditor.java | 3 ++- .../framework/auditor/ReactiveOperationAuditor.java | 3 ++- .../flyfish/framework/config/audit/UserBeanAuditor.java | 5 +++-- .../configuration/jwt/JwtSecurityContextRepository.java | 8 ++++++-- 6 files changed, 19 insertions(+), 6 deletions(-) diff --git a/flyfish-data/pom.xml b/flyfish-data/pom.xml index 288685e..139bb91 100644 --- a/flyfish-data/pom.xml +++ b/flyfish-data/pom.xml @@ -33,6 +33,11 @@ spring-boot-starter-data-mongodb-reactive + + org.springframework.boot + spring-boot-starter-data-mongodb + + com.github.ulisesbocchio jasypt-spring-boot-starter diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java b/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java index 920b08a..7c5da21 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java @@ -2,6 +2,7 @@ package com.flyfish.framework.annotations; import com.flyfish.framework.repository.factory.DefaultReactiveRepositoryFactoryBean; import com.flyfish.framework.repository.impl.DefaultReactiveRepositoryImpl; +import org.springframework.context.annotation.Import; import org.springframework.core.annotation.AliasFor; import org.springframework.data.mongodb.config.EnableReactiveMongoAuditing; import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories; diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java b/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java index d83072a..0d7151e 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java @@ -24,6 +24,7 @@ public class ReactiveAuthorizeAuditor implements ReactiveBeanAuditor { data.setAuthorizeId(user.getAuthority()); return data; - }); + }) + .defaultIfEmpty(data); } } diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java b/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java index 615be4e..6b4e6e2 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java @@ -35,6 +35,7 @@ public class ReactiveOperationAuditor implements ReactiveBeanAuditor, ReactiveBeanP @Override public Mono post(User data) { // 更新缓存 - return reactiveRedisOperations.set(UserCacheKeys.get(data.getUsername()), - userDetailsConverter.mapToUserDetails(data)).then(Mono.just(data)); + return userDetailsConverter.mapToUserDetails(data) + .flatMap(detail -> reactiveRedisOperations.set(UserCacheKeys.get(data.getUsername()), detail)) + .thenReturn(data); } } diff --git a/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java b/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java index 185971b..e324396 100644 --- a/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java +++ b/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java @@ -49,8 +49,12 @@ public class JwtSecurityContextRepository implements ServerSecurityContextReposi */ @Override public Mono save(ServerWebExchange webExchange, SecurityContext securityContext) { - // 添加jwtToken - tokenProvider.addToken(webExchange, securityContext.getAuthentication()); + if (null == securityContext) { + return tokenProvider.removeToken(webExchange); + } else { + // 添加jwtToken + tokenProvider.addToken(webExchange, securityContext.getAuthentication()); + } return Mono.empty(); } }