修复用户多角色时登录失败的bug

pull/62/head
zhengjie 2019-05-08 14:09:15 +08:00
parent 99041161d7
commit 5f43a5dabc
4 changed files with 3 additions and 15 deletions

View File

@ -21,7 +21,7 @@ import org.springframework.stereotype.Component;
@Component
@Aspect
@Slf4j
public class DataScopeAspect {
public class LogAspect {
@Autowired
private LogService logService;

View File

@ -35,7 +35,7 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
}
// 可解决Long 类型在 前端精度丢失的问题, 如不想全局 直接添加注解 @JsonSerialize(using= ToStringSerializer.class) 到相应的字段
// 可解决Long 类型在 前端精度丢失的问题, 如不想全局 直接添加注解 @JsonSerialize(using= ToStringSerializer.class) 到相应的字段
// @Override
// public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

View File

@ -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<GrantedAuthority> mapToGrantedAuthorities(User user) {
@ -33,11 +27,7 @@ public class JwtPermissionService {
Set<Role> roles = roleRepository.findByUsers_Id(user.getId());
Set<Permission> 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());
}

View File

@ -28,6 +28,4 @@ public interface PermissionRepository extends JpaRepository<Permission, Long>, J
* @return
*/
List<Permission> findByPid(long pid);
Set<Permission> findByRoles(Set<Role> roles);
}