Skip to main content
Example scripts
arrow icon
To homepage
Confluence
Data centre icon
Data Center

Roll Back Anonymous Space Permissions via Listener

Features
Listeners
Tags
Created 1 year ago, Updated 1 month(s) ago
App in script
ScriptRunner For Confluence
ScriptRunner For Confluence
by Adaptavist
Compatibility
compatibility bullet
Confluence (7.15 - 8.6)
compatibility bullet
ScriptRunner For Confluence (7.10.0)
Language |
groovy
package examples

import com.atlassian.confluence.event.events.permission.SpacePermissionChangeEvent
import com.atlassian.confluence.security.SpacePermission
import com.atlassian.confluence.security.SpacePermissionManager
import com.atlassian.sal.api.component.ComponentLocator

def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManager)
def spacePermissionChangeEvent = event as SpacePermissionChangeEvent
def spacePermissions = spacePermissionChangeEvent.getPermissions()

spacePermissions.each { SpacePermission permission ->
    // if user subject and group is null, permission is anonymous
    if (!permission.getUserSubject() && !permission.getGroup() && permission.space) {
        log.debug("Removing anonymous permission ${permission.type} for space ${permission.space.key}")
        spacePermissionManager.removePermission(permission)
    }
}
Having an issue with this script?
Report it here