From 042eeae7ea83e1343091656022d044d438bca3b7 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Wed, 8 Dec 2021 23:57:16 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E7=A7=9F=E6=88=B7=E9=9A=94?= =?UTF-8?q?=E7=A6=BB=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auditor/ReactiveAuthorizeAuditor.java | 18 +++++++++++------- .../domain/authorized/AuthorizedDomain.java | 2 ++ 2 files changed, 13 insertions(+), 7 deletions(-) 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 0d7151e..8fc5b65 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 @@ -3,6 +3,7 @@ package com.flyfish.framework.auditor; import com.flyfish.framework.domain.authorized.AuthorizedDomain; import com.flyfish.framework.domain.base.IUser; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.security.core.context.ReactiveSecurityContextHolder; import org.springframework.stereotype.Component; import reactor.core.publisher.Mono; @@ -19,12 +20,15 @@ public class ReactiveAuthorizeAuditor implements ReactiveBeanAuditor audit(AuthorizedDomain data) { - return ReactiveSecurityContextHolder.getContext() - .map(ctx -> (IUser) ctx.getAuthentication().getPrincipal()) - .map(user -> { - data.setAuthorizeId(user.getAuthority()); - return data; - }) - .defaultIfEmpty(data); + if (StringUtils.isBlank(data.getAuthorizeId())) { + return ReactiveSecurityContextHolder.getContext() + .map(ctx -> (IUser) ctx.getAuthentication().getPrincipal()) + .map(user -> { + data.setAuthorizeId(user.getAuthority()); + return data; + }) + .defaultIfEmpty(data); + } + return Mono.just(data); } } diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java b/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java index b8f2484..40af6f3 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java @@ -2,12 +2,14 @@ package com.flyfish.framework.domain.authorized; import com.flyfish.framework.annotations.Property; import com.flyfish.framework.domain.base.AuditDomain; +import lombok.Getter; import lombok.Setter; /** * 带鉴权的实体,主要以部门隔绝 */ @Setter +@Getter public abstract class AuthorizedDomain extends AuditDomain { // 作用域id,一般是部门。用户存储时插入