From aec798bf4393312325a636087773222a2b8b9b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Mon, 6 Mar 2023 15:01:34 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91ShiroRealm?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/jero/config/shiro/ShiroRealm.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java index ce003abc..3c75aba4 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java @@ -69,13 +69,11 @@ public class ShiroRealm extends AuthorizingRealm { // 设置用户拥有的角色集合,比如“admin,test” Set roleSet = commonAPI.queryUserRoles(username); - System.out.println(roleSet.toString()); info.setRoles(roleSet); // 设置用户拥有的权限集合,比如“sys:role:add,sys:user:add” Set permissionSet = commonAPI.queryUserAuths(username); info.addStringPermissions(permissionSet); - System.out.println(permissionSet); log.info("===============Shiro权限认证成功=============="); return info; } @@ -131,10 +129,8 @@ public class ShiroRealm extends AuthorizingRealm { String userTenantIds = loginUser.getRelTenantIds(); if(oConvertUtils.isNotEmpty(userTenantIds)){ String contextTenantId = TenantContext.getTenant(); - if(oConvertUtils.isNotEmpty(contextTenantId) && !"0".equals(contextTenantId)){ - if(String.join(",",userTenantIds).indexOf(contextTenantId)<0){ - throw new AuthenticationException("用户租户信息变更,请重新登陆!"); - } + if(oConvertUtils.isNotEmpty(contextTenantId) && !"0".equals(contextTenantId) && !String.join(",", userTenantIds).contains(contextTenantId)){ + throw new AuthenticationException("用户租户信息变更,请重新登陆!"); } } //update-end-author:taoyan date:20210609 for:校验用户的tenant_id和前端传过来的是否一致