From 5f43a5dabc9e26ec9057a79cd01200254346211a Mon Sep 17 00:00:00 2001 From: zhengjie Date: Wed, 8 May 2019 14:09:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7=E5=A4=9A?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=97=B6=E7=99=BB=E5=BD=95=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aspect/{DataScopeAspect.java => LogAspect.java} | 2 +- .../java/me/zhengjie/config/ConfigurerAdapter.java | 2 +- .../security/service/JwtPermissionService.java | 12 +----------- .../system/repository/PermissionRepository.java | 2 -- 4 files changed, 3 insertions(+), 15 deletions(-) rename eladmin-logging/src/main/java/me/zhengjie/aspect/{DataScopeAspect.java => LogAspect.java} (98%) diff --git a/eladmin-logging/src/main/java/me/zhengjie/aspect/DataScopeAspect.java b/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java similarity index 98% rename from eladmin-logging/src/main/java/me/zhengjie/aspect/DataScopeAspect.java rename to eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java index dba09f48..b864423a 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/aspect/DataScopeAspect.java +++ b/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java @@ -21,7 +21,7 @@ import org.springframework.stereotype.Component; @Component @Aspect @Slf4j -public class DataScopeAspect { +public class LogAspect { @Autowired private LogService logService; diff --git a/eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java b/eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java index 01df206a..2e79b5b2 100644 --- a/eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java +++ b/eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java @@ -35,7 +35,7 @@ public class ConfigurerAdapter implements WebMvcConfigurer { } -// 可解决Long 类型在 前端精度丢失的问题, 如不想全局 直接添加注解 @JsonSerialize(using= ToStringSerializer.class) 到相应的字段上 +// 可解决Long 类型在 前端精度丢失的问题, 如不想全局 直接添加注解 @JsonSerialize(using= ToStringSerializer.class) 到相应的字段 // @Override // public void configureMessageConverters(List> converters) { diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/JwtPermissionService.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/JwtPermissionService.java index e1ee55ca..147ddf75 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/JwtPermissionService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/JwtPermissionService.java @@ -1,9 +1,7 @@ package me.zhengjie.modules.security.service; -import me.zhengjie.modules.system.domain.Permission; import me.zhengjie.modules.system.domain.Role; import me.zhengjie.modules.system.domain.User; -import me.zhengjie.modules.system.repository.PermissionRepository; import me.zhengjie.modules.system.repository.RoleRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; @@ -12,7 +10,6 @@ import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.stereotype.Service; import java.util.Collection; -import java.util.HashSet; import java.util.Set; import java.util.stream.Collectors; @@ -23,9 +20,6 @@ public class JwtPermissionService { @Autowired private RoleRepository roleRepository; - @Autowired - private PermissionRepository permissionRepository; - @Cacheable(key = "'loadPermissionByUser:' + #p0.username") public Collection mapToGrantedAuthorities(User user) { @@ -33,11 +27,7 @@ public class JwtPermissionService { Set roles = roleRepository.findByUsers_Id(user.getId()); - Set permissions = new HashSet<>(); - - permissions.addAll(permissionRepository.findByRoles(roles)); - - return permissions.stream() + return roles.stream().flatMap(role -> role.getPermissions().stream()) .map(permission -> new SimpleGrantedAuthority(permission.getName())) .collect(Collectors.toList()); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/PermissionRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/PermissionRepository.java index 5d393431..bb5ba0ef 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/PermissionRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/PermissionRepository.java @@ -28,6 +28,4 @@ public interface PermissionRepository extends JpaRepository, J * @return */ List findByPid(long pid); - - Set findByRoles(Set roles); }