首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Groovy)查找其中包含特定用户组的所有合流空间

(Groovy)查找其中包含特定用户组的所有合流空间
EN

Stack Overflow用户
提问于 2020-12-03 17:54:31
回答 1查看 103关注 0票数 0

正如标题所述,我希望能够迭代我的Confluence系统并找到某个用户组所在的所有空间。我可以使用下面的代码在单个空间中找到一个用户组,但我似乎找不到如何在所有空间中做到这一点的答案。

代码语言:javascript
复制
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.security.SpacePermissionManager
import com.atlassian.confluence.security.SpacePermission
import com.atlassian.user.GroupManager
import com.atlassian.confluence.core.ContentPermissionManager
import com.atlassian.confluence.internal.security.SpacePermissionContext

def spaceManager = ComponentLocator.getComponent(SpaceManager)
def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManager)
def groupManager = ComponentLocator.getComponent(GroupManager)

def targetSpace = spaceManager.getSpace("NameOfSpace")
def targetGroup = groupManager.getGroup("UserGroup")

if (spacePermissionManager.getGroupsWithPermissions(targetSpace).contains(targetGroup)) { 
    //do something (in my case, remove User Group)
    
}

我尝试使用"def allSpaces = spaceManager.getAllSpaces()“,并将其替换到getGroupsWithPermissions()方法中,但没有成功。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-02-21 22:38:44

你试过SpacePermissionManager#getAllPermissionsForGroup吗?我还没有在Groovy中测试过这一点,但至少在Java中,它会返回一个附加到用户组的空间权限列表。

并不是所有的SpacePermissions都会附加到实际的空格中,所以您很可能需要遍历列表并过滤getSpace()不为null的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65123579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档