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);
``