6.14软工日报

今日学习SpringSecurity的鉴权操作
代码如下

// 查询用户权限
 
 
//        根据用户id从用户角色表中获取角色id
        List<UserRoles> roleIds = userRolesService.list(new LambdaQueryWrapper<UserRoles>()
                .eq(UserRoles::getUserId,users.getId()));
        List<Integer> rolesList = roleIds.stream().map(UserRoles::getRoleId).toList();
 
        if (!(roleIds.size() >0)){
//            用户没有分配角色
            return myTUserDetail;
        }
        
        Set<String> listPermission = new HashSet<>();
 
        rolesList.forEach(roleId ->{
            // 根据角色id从角色权限表中获取权限id
            List<RolePermissions> rolePermissions = rolePermissionsService.list(new LambdaQueryWrapper<RolePermissions>().
                    eq(RolePermissions::getRoleId, roleId));
            // 根据权限id从权限表中获取权限名称
            rolePermissions.forEach(permissionsId->{
                Permissions permissions = permissionsService.getById(permissionsId.getPermissionId());
                listPermission.add(permissions.getName());
            });
        });
 
myTUserDetail.setPermissions( listPermission);

``
posted @ 2024-06-14 00:07  笠大  阅读(3)  评论(0编辑  收藏  举报