|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface PermissionManager
Generalised interface for checking whether a particular action in Confluence is allowed, without any knowledge of the specific implementation of permissions as they relate to spaces, pages and so on.
Nested Class Summary | |
---|---|
static interface |
PermissionManager.Criterion
A criterion for whether an entity should be permitted or not |
Field Summary | |
---|---|
static java.lang.Object |
TARGET_APPLICATION
A target that encompasses most administrative functions minus the ones covered by TARGET_SYSTEM. |
static java.lang.Object |
TARGET_PEOPLE_DIRECTORY
A target the represents the People Directory function of Confluence. |
static java.lang.Object |
TARGET_SYSTEM
A target that encompasses functions that have system impact and can compromise system security. |
Method Summary | ||
---|---|---|
|
getPermittedEntities(com.atlassian.user.User user,
Permission permission,
java.util.Iterator<? extends X> objects,
int maxResults)
Filter an iterator based on which entities in the list have a particular permission. |
|
|
getPermittedEntities(com.atlassian.user.User user,
Permission permission,
java.util.Iterator<X> objects,
int maxResults,
java.util.Collection<? extends PermissionManager.Criterion> otherCriteria)
Filter an iterator based on which entities in the list have a particular permission. |
|
|
getPermittedEntities(com.atlassian.user.User user,
Permission permission,
java.util.List<? extends X> objects)
Filter a list based on which entities in the list have a particular permission. |
|
|
getPermittedEntitiesNoExemptions(com.atlassian.user.User user,
Permission permission,
java.util.Iterator<? extends X> objects,
int maxResults)
Filter an iterator based on which entities in the list have a particular permission. |
|
|
getPermittedEntitiesNoExemptions(com.atlassian.user.User user,
Permission permission,
java.util.Iterator<X> objects,
int maxResults,
java.util.Collection<? extends PermissionManager.Criterion> otherCriteria)
Filter an iterator based on which entities in the list have a particular permission. |
|
|
getPermittedEntitiesNoExemptions(com.atlassian.user.User user,
Permission permission,
java.util.List<? extends X> objects)
Filter a list based on which entities in the list have a particular permission. |
|
boolean |
hasCreatePermission(com.atlassian.user.User user,
java.lang.Object container,
java.lang.Class<?> typeToCreate)
Determine whether a user has permission to create an entity of a particular type within a given container. |
|
boolean |
hasPermission(com.atlassian.user.User user,
Permission permission,
java.lang.Class targetType)
Determine whether a user has a particular permission for all instances of the specified target type. |
|
boolean |
hasPermission(com.atlassian.user.User user,
Permission permission,
java.lang.Object target)
Determine whether a user has a particular permission against a given target. |
|
boolean |
hasPermissionNoExemptions(com.atlassian.user.User user,
Permission permission,
java.lang.Object target)
Returns true if the user has the specified permission on the target object. |
|
boolean |
isConfluenceAdministrator(com.atlassian.user.User user)
Determine if the user is a Confluence administrator. |
|
void |
withExemption(java.lang.Runnable runnable)
Execute the given task with permission exemption. |
Field Detail |
---|
static final java.lang.Object TARGET_APPLICATION
static final java.lang.Object TARGET_SYSTEM
static final java.lang.Object TARGET_PEOPLE_DIRECTORY
Method Detail |
---|
boolean hasPermission(com.atlassian.user.User user, Permission permission, java.lang.Object target)
user
- the user seeking permission, or null if the anonymous user is being checked againstpermission
- the permission to checktarget
- the object that the permission is being checked against. If this object is null, the method
will return false
java.lang.IllegalStateException
- if the permission being checked against does not apply to the targetboolean hasPermission(com.atlassian.user.User user, Permission permission, java.lang.Class targetType)
user
- the userpermission
- the permission to check (see Permission
targetType
- the type of the target
boolean hasPermissionNoExemptions(com.atlassian.user.User user, Permission permission, java.lang.Object target)
hasPermission(User, Permission, Object)
does.
For parameter and return value information, see hasPermission(User, Permission, Object)
.
boolean hasCreatePermission(com.atlassian.user.User user, java.lang.Object container, java.lang.Class<?> typeToCreate)
The container is the natural container of the object being created. For example, a comment is contained in a page, which is contained within a space. A space is contained within TARGET_APPLICATION.
user
- the user seeking permission, or null if the anonymous user is being checked againstcontainer
- the target that the object is being created within. If this object is null, the method
will return falsetypeToCreate
- the type of object being created (see above)
java.lang.IllegalStateException
- if the permission being checked against does not apply to the targetContentEntityObject.getType()
<X> java.util.List<X> getPermittedEntities(com.atlassian.user.User user, Permission permission, java.util.List<? extends X> objects)
user
- the user seeking permission, or null if the anonymous user is being checked againstpermission
- the permission to check against the objectsobjects
- the objects to check
<X> java.util.List<X> getPermittedEntities(com.atlassian.user.User user, Permission permission, java.util.Iterator<? extends X> objects, int maxResults)
user
- the user seeking permission, or null if the anonymous user is being checked againstpermission
- the permission to check against the objectsobjects
- the objects to checkmaxResults
- the maximum number of permitted entities to retrieve from the iterator (un-permitted entities are not counted)
<X> java.util.List<X> getPermittedEntities(com.atlassian.user.User user, Permission permission, java.util.Iterator<X> objects, int maxResults, java.util.Collection<? extends PermissionManager.Criterion> otherCriteria)
user
- the user seeking permission, or null if the anonymous user is being checked againstpermission
- the permission to check against the objectsobjects
- the objects to checkmaxResults
- the maximum number of permitted entities to retrieve from the iterator (un-permitted entities are not counted)otherCriteria
- a collection of PermissionManager.Criterion
objects through which the permitted entities must also be filtered
<X> java.util.List<X> getPermittedEntitiesNoExemptions(com.atlassian.user.User user, Permission permission, java.util.List<? extends X> objects)
getPermittedEntities(User, Permission, List)
does.
user
- the user seeking permission, or null if the anonymous user is being checked againstpermission
- the permission to check against the objectsobjects
- the objects to check
<X> java.util.List<X> getPermittedEntitiesNoExemptions(com.atlassian.user.User user, Permission permission, java.util.Iterator<? extends X> objects, int maxResults)
getPermittedEntities(User, Permission, Iterator, int)
does.
user
- the user seeking permission, or null if the anonymous user is being checked againstpermission
- the permission to check against the objectsobjects
- the objects to checkmaxResults
- the maximum number of permitted entities to retrieve from the iterator (un-permitted entities are not counted)
<X> java.util.List<X> getPermittedEntitiesNoExemptions(com.atlassian.user.User user, Permission permission, java.util.Iterator<X> objects, int maxResults, java.util.Collection<? extends PermissionManager.Criterion> otherCriteria)
getPermittedEntities(User, Permission, Iterator, int, Collection)
does. You may also supply additional
criteria through which to filter the iterator.
user
- the user seeking permission, or null if the anonymous user is being checked againstpermission
- the permission to check against the objectsobjects
- the objects to checkmaxResults
- the maximum number of permitted entities to retrieve from the iterator (un-permitted entities are not counted)otherCriteria
- a collection of PermissionManager.Criterion
objects through which the permitted entities must also be filtered
boolean isConfluenceAdministrator(com.atlassian.user.User user)
hasPermission(user, Permission.ADMINISTER, PermissionManager.TARGET_APPLICATION)
.
user
- the user to check permissions against
void withExemption(java.lang.Runnable runnable)
Calls to hasPermission(com.atlassian.user.User, Permission, Object)
and hasCreatePermission(com.atlassian.user.User, Object, Class)
within the executed task will return true. Other permission checks are not affected.
Use with care.
runnable
- task to execute with permission exemption
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |