|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.confluence.security.SpacePermissionCoordinator
public class SpacePermissionCoordinator
Space permission manager that adds a layer of security over the write operations in this class. That is, it performs
permission checking via the PermissionManager
and SetSpacePermissionChecker
before forwarding the call to the underlying space permission manager.
Constructor Summary | |
---|---|
SpacePermissionCoordinator()
|
Method Summary | |
---|---|
void |
createDefaultSpacePermissions(Space space)
|
void |
createInitialSpacePermissions(Space space)
Creates initial space permissions for the specified space. |
void |
createPrivateSpacePermissions(Space space)
|
void |
fixPermissions()
|
void |
flushCaches()
|
List |
getAllPermissionsForGroup(String group)
|
List |
getGlobalPermissions()
|
List |
getGlobalPermissions(String permissionType)
|
Map |
getGroupsForPermissionType(String permissionType,
Space space)
|
Collection |
getGroupsWithPermissions(Space space)
Returns all groups wich have permissions in a space or on a global level. |
Map |
getUsersForPermissionType(String permissionType,
Space space)
|
Collection |
getUsersWithPermissions(Space space)
Returns a collection of user objects with VIEWSPACE_PERMISSION in the space. |
boolean |
groupHasPermission(String permissionType,
Space space,
String group)
Checks whether the given group has the given permission If a null space is specified, this method looks up matching global permissions, otherwise space's permissions list is queried to see if the permission matches. |
boolean |
hasAllPermissions(List<String> permissionTypes,
Space space,
com.atlassian.user.User remoteUser)
Determines if remoteUser has all of the given permissions in space If remoteUser lacks any of the given permissions, false is returned. |
boolean |
hasPermission(List permissionTypes,
Space space,
com.atlassian.user.User remoteUser)
Determines if remoteUser has the given permissions in space If remoteUser lacks any of the given permissions, false is returned. |
boolean |
hasPermission(String permissionType,
Space space,
com.atlassian.user.User remoteUser)
Determines if remoteUser has the given permission in space |
boolean |
hasPermissionForSpace(com.atlassian.user.User user,
List permissionTypes,
Space space)
|
boolean |
permissionExists(SpacePermission permission)
Check whether the given SpacePermission exists. |
void |
removeAllPermissions(Space space)
Removes all SpacePermission 's from the specified space. |
void |
removeAllPermissionsForGroup(String groupName)
Removes all the SpacePermission 's for the specified group. |
void |
removeAllUserPermissions(String username)
Removes all the SpacePermission 's for the specified user. |
void |
removePermission(SpacePermission permission)
Removes the specified permission. |
void |
savePermission(SpacePermission permission)
Saves the specified permission. |
void |
setGroupManager(com.atlassian.user.GroupManager groupManager)
|
void |
setPermissionManager(PermissionManager permissionManager)
|
void |
setSetSpacePermissionChecker(SetSpacePermissionChecker setSpacePermissionChecker)
|
void |
setSpacePermissionManager(SpacePermissionManager spacePermissionManager)
|
void |
setUserManager(com.atlassian.user.UserManager userManager)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SpacePermissionCoordinator()
Method Detail |
---|
public void savePermission(SpacePermission permission)
savePermission
in interface SpacePermissionManager
InsufficientPrivilegeException
- if the current logged in user does not have sufficient permissions to do this. Check SetSpacePermissionChecker.canSetPermission(User, SpacePermission)
first.public void removeAllPermissions(Space space)
SpacePermission
's from the specified space.
removeAllPermissions
in interface SpacePermissionManager
space
- The space to remove the permissions for
InsufficientPrivilegeException
- if the current logged in user does not have sufficient permissions to do this. Check Permission.SET_PERMISSIONS
on PermissionManager
first.public void removePermission(SpacePermission permission)
removePermission
in interface SpacePermissionManager
InsufficientPrivilegeException
- if the current logged in user does not have sufficient permissions to do this. Check SetSpacePermissionChecker.canSetPermission(User, SpacePermission)
first.public void createInitialSpacePermissions(Space space)
createInitialSpacePermissions
in interface SpacePermissionManager
InvalidOperationException
- if you try to do this and you are not the creator of the specified space or not the system administrator.public void createDefaultSpacePermissions(Space space)
createDefaultSpacePermissions
in interface SpacePermissionManager
public void createPrivateSpacePermissions(Space space)
createPrivateSpacePermissions
in interface SpacePermissionManager
public void removeAllUserPermissions(String username)
SpacePermission
's for the specified user.
removeAllUserPermissions
in interface SpacePermissionManager
InsufficientPrivilegeException
- if the current logged in user does not have sufficient permissions to do this. Check Permission.SET_PERMISSIONS
using PermissionManager
first.
EntityRuntimeException
- if there is an error retrieving the user with the specified usernamepublic void removeAllPermissionsForGroup(String groupName)
SpacePermission
's for the specified group.
removeAllPermissionsForGroup
in interface SpacePermissionManager
InsufficientPrivilegeException
- if the current logged in user does not have sufficient permissions to do this. Check Permission.SET_PERMISSIONS
using PermissionManager
first.
EntityRuntimeException
- if there is an error retrieving the group with the specified group namepublic boolean hasPermission(String permissionType, Space space, com.atlassian.user.User remoteUser)
SpacePermissionManager
hasPermission
in interface SpacePermissionManager
permissionType
- The permission type to look upspace
- The space the permission applies to (can be null for global permissions)remoteUser
- The user to look up (can be null for the anonymous user)
public boolean hasPermission(List permissionTypes, Space space, com.atlassian.user.User remoteUser)
SpacePermissionManager
hasPermission
in interface SpacePermissionManager
permissionTypes
- A List of permission types (see SpacePermission) to checkspace
- The space the permissions apply toremoteUser
- The user to look up
public boolean hasAllPermissions(List<String> permissionTypes, Space space, com.atlassian.user.User remoteUser)
SpacePermissionManager
hasAllPermissions
in interface SpacePermissionManager
permissionTypes
- A List of permission types (see SpacePermission) to checkspace
- The space the permissions apply to
public List getAllPermissionsForGroup(String group)
getAllPermissionsForGroup
in interface SpacePermissionManager
public List getGlobalPermissions()
getGlobalPermissions
in interface SpacePermissionManager
public List getGlobalPermissions(String permissionType)
getGlobalPermissions
in interface SpacePermissionManager
public void fixPermissions()
fixPermissions
in interface SpacePermissionManager
public void flushCaches()
flushCaches
in interface SpacePermissionManager
public boolean groupHasPermission(String permissionType, Space space, String group)
SpacePermissionManager
groupHasPermission
in interface SpacePermissionManager
permissionType
- The permission type to look upspace
- The space the permission applies to (can be null for global permissions)group
- The group to look up the permission for
public boolean hasPermissionForSpace(com.atlassian.user.User user, List permissionTypes, Space space)
hasPermissionForSpace
in interface SpacePermissionManager
public Collection getGroupsWithPermissions(Space space)
SpacePermissionManager
getGroupsWithPermissions
in interface SpacePermissionManager
space
- - space to query, if null global permissions returned
public Map getGroupsForPermissionType(String permissionType, Space space)
getGroupsForPermissionType
in interface SpacePermissionManager
public Collection getUsersWithPermissions(Space space)
SpacePermissionManager
getUsersWithPermissions
in interface SpacePermissionManager
space
- - space to query, if null global permissions returned
public Map getUsersForPermissionType(String permissionType, Space space)
getUsersForPermissionType
in interface SpacePermissionManager
public boolean permissionExists(SpacePermission permission)
SpacePermissionManager
permissionExists
in interface SpacePermissionManager
permission
- the permission to look for.
public void setPermissionManager(PermissionManager permissionManager)
public void setSpacePermissionManager(SpacePermissionManager spacePermissionManager)
public void setSetSpacePermissionChecker(SetSpacePermissionChecker setSpacePermissionChecker)
public void setUserManager(com.atlassian.user.UserManager userManager)
public void setGroupManager(com.atlassian.user.GroupManager groupManager)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |