feat(2046-permission): 去重ou workspace对
This commit is contained in:
parent
fb2ae4928e
commit
120d9e0952
@ -4,6 +4,7 @@ import cn.axzo.framework.auth.domain.TerminalInfo;
|
|||||||
import cn.axzo.tyr.client.common.enums.WorkspaceJoinType;
|
import cn.axzo.tyr.client.common.enums.WorkspaceJoinType;
|
||||||
import cn.axzo.tyr.client.model.enums.FeatureType;
|
import cn.axzo.tyr.client.model.enums.FeatureType;
|
||||||
import cn.axzo.tyr.client.model.enums.IdentityType;
|
import cn.axzo.tyr.client.model.enums.IdentityType;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -17,6 +18,7 @@ import java.util.HashMap;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.axzo.tyr.client.common.enums.WorkspaceJoinType.ENT_GROUP;
|
import static cn.axzo.tyr.client.common.enums.WorkspaceJoinType.ENT_GROUP;
|
||||||
import static cn.axzo.tyr.client.common.enums.WorkspaceJoinType.ENT_TEAM;
|
import static cn.axzo.tyr.client.common.enums.WorkspaceJoinType.ENT_TEAM;
|
||||||
@ -71,6 +73,16 @@ public class IdentityAuthReq {
|
|||||||
@Builder.Default
|
@Builder.Default
|
||||||
private boolean useCache = true;
|
private boolean useCache = true;
|
||||||
|
|
||||||
|
public void distinctOUWorkspacePair() {
|
||||||
|
if (CollectionUtil.isEmpty(this.workspaceOusPairs)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Set<String> distinctSet = new HashSet<>();
|
||||||
|
this.workspaceOusPairs = this.workspaceOusPairs.stream()
|
||||||
|
.filter(p -> distinctSet.add(p.getOuId() + "-" + p.getWorkspaceId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|||||||
@ -750,6 +750,8 @@ public class TyrSaasAuthServiceImpl implements TyrSaasAuthService {
|
|||||||
public IdentityAuthRes findIdentityAuthMix(IdentityAuthReq req) {
|
public IdentityAuthRes findIdentityAuthMix(IdentityAuthReq req) {
|
||||||
List<IdentityAuthRes.WorkspacePermission> permissions = null;
|
List<IdentityAuthRes.WorkspacePermission> permissions = null;
|
||||||
//不走缓存的情况:关闭缓存开关 - 缓存临时禁用 - 请求指明不走缓存 - 角色预览操作
|
//不走缓存的情况:关闭缓存开关 - 缓存临时禁用 - 请求指明不走缓存 - 角色预览操作
|
||||||
|
//请求参数去重: ou-workspace
|
||||||
|
req.distinctOUWorkspacePair();
|
||||||
boolean notUseCache = !req.isUseCache()
|
boolean notUseCache = !req.isUseCache()
|
||||||
|| CollectionUtil.isNotEmpty(req.getSpecifyRoleIds())
|
|| CollectionUtil.isNotEmpty(req.getSpecifyRoleIds())
|
||||||
|| permissionCacheService.cacheDisable(
|
|| permissionCacheService.cacheDisable(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user