| | |
| | | package org.dromara.system.service.impl; |
| | | |
| | | import cn.dev33.satoken.stp.StpUtil; |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import org.dromara.common.satoken.utils.LoginHelper; |
| | | import org.dromara.common.sensitive.core.SensitiveService; |
| | | import org.dromara.common.tenant.helper.TenantHelper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | |
| | | * 是否脱敏 |
| | | */ |
| | | @Override |
| | | public boolean isSensitive() { |
| | | return !LoginHelper.isSuperAdmin() || !LoginHelper.isTenantAdmin(); |
| | | public boolean isSensitive(String[] roleKey, String[] perms) { |
| | | if (!LoginHelper.isLogin()) { |
| | | return true; |
| | | } |
| | | boolean roleExist = ArrayUtil.isNotEmpty(roleKey); |
| | | boolean permsExist = ArrayUtil.isNotEmpty(perms); |
| | | if (roleExist && permsExist) { |
| | | if (StpUtil.hasRoleOr(roleKey) && StpUtil.hasPermissionOr(perms)) { |
| | | return false; |
| | | } |
| | | } else if (roleExist && StpUtil.hasRoleOr(roleKey)) { |
| | | return false; |
| | | } else if (permsExist && StpUtil.hasPermissionOr(perms)) { |
| | | return false; |
| | | } |
| | | |
| | | if (TenantHelper.isEnable()) { |
| | | return !LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin(); |
| | | } |
| | | return !LoginHelper.isSuperAdmin(); |
| | | } |
| | | |
| | | } |