From c1904bb00a1a49d2c634ce10a47fd79e953fae93 Mon Sep 17 00:00:00 2001 From: ajaxfan <909938737@qq.com> Date: Fri, 12 Mar 2021 15:26:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=A7=92=E8=89=B2code=E4=B8=8D=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/filter/TokenAuthenticationFilter.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java index e225714..97336ea 100644 --- a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java +++ b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java @@ -1,10 +1,9 @@ package com.chinaunicom.mall.ebtp.cloud.security.starter.filter; import java.io.IOException; -import java.util.Arrays; -import java.util.Collections; import java.util.List; -import java.util.Optional; +import java.util.Objects; +import java.util.stream.Collectors; import javax.servlet.FilterChain; import javax.servlet.ServletException; @@ -90,8 +89,9 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { SecurityUser securityUser = entity.getBody(); // 根据当前角色设定权限列表 - List authorities = Optional.ofNullable(currentRoleCode) - .map(o -> Arrays.asList(new RoleCodeAuthority(o))).orElse(Collections.emptyList()); + List authorities = securityUser.getAuthorityList().stream() + .filter(auth -> Objects.equals(auth.getRoleCode(), currentRoleCode)) + .map(auth -> new RoleCodeAuthority(auth.getRoleCode())).collect(Collectors.toList()); return new UsernamePasswordAuthenticationToken(securityUser.setCurrentRoleCode(currentRoleCode), token, authorities);