From cbef9c8ec626dbc0b862416a69424a184be1d7c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Tue, 31 Dec 2019 09:22:47 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20#863=20=E6=9D=83=E9=99=90=E6=89=A9?= =?UTF-8?q?=E5=B1=95=20pms.hasPermission('A','B')=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E6=9D=83=E9=99=90=E6=A0=87=E8=AF=86=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/component/PermissionService.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermissionService.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermissionService.java index b16fcb31a..345d0c502 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermissionService.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermissionService.java @@ -17,7 +17,7 @@ package com.pig4cloud.pigx.common.security.component; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.ArrayUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; @@ -37,13 +37,13 @@ import java.util.Collection; @Component("pms") public class PermissionService { /** - * 判断接口是否有xxx:xxx权限 + * 判断接口是否有任意xxx,xxx权限 * - * @param permission 权限 + * @param permissions 权限 * @return {boolean} */ - public boolean hasPermission(String permission) { - if (StrUtil.isBlank(permission)) { + public boolean hasPermission(String... permissions) { + if (ArrayUtil.isEmpty(permissions)) { return false; } Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); @@ -52,8 +52,8 @@ public class PermissionService { } Collection authorities = authentication.getAuthorities(); return authorities.stream() - .map(GrantedAuthority::getAuthority) - .filter(StringUtils::hasText) - .anyMatch(x -> PatternMatchUtils.simpleMatch(permission, x)); + .map(GrantedAuthority::getAuthority) + .filter(StringUtils::hasText) + .anyMatch(x -> PatternMatchUtils.simpleMatch(permissions, x)); } }