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();
}
}