Interface UserPermissionService
public interface UserPermissionService
Check Crowd access permissions for users, eg SYS_ADMIN and ADMIN.
-
Method Summary
Modifier and TypeMethodDescriptionbooleancurrentUserHasPermission(com.atlassian.crowd.model.permission.UserPermission permission) Does the current user have the provided permission.Set<com.atlassian.crowd.model.user.User> getGroupLevelAdmins(boolean considerOnlyTargetGroupsWithApplications) default Set<com.atlassian.crowd.model.user.User> getSysAdmins(com.atlassian.crowd.model.application.Application application, boolean includeLocallyCachedOnly) Set<com.atlassian.crowd.model.user.User> getUsersWithPermission(com.atlassian.crowd.model.application.Application application, com.atlassian.crowd.model.permission.UserPermission userPermission, boolean includeLocallyCachedOnly) booleanhasPermission(String username, com.atlassian.crowd.model.permission.UserPermission permission) Does the provided user have the provided permission.booleanhasPermissionOutsideOfGroups(String username, com.atlassian.crowd.model.permission.UserPermission permission, Collection<com.atlassian.crowd.manager.permission.DirectoryGroup> excludedGroups) Does the provided user have the provided permission when not considering the provided groups.booleanisGroupLevelAdmin(String username) Does the provided user have Group Level Admin permissions.
-
Method Details
-
currentUserHasPermission
boolean currentUserHasPermission(com.atlassian.crowd.model.permission.UserPermission permission) Does the current user have the provided permission.- Parameters:
permission- permission required- Returns:
- true if the user has permission
-
hasPermission
boolean hasPermission(@Nullable String username, com.atlassian.crowd.model.permission.UserPermission permission) Does the provided user have the provided permission.- Parameters:
username- user to check, null for the anonymous userpermission- permission required- Returns:
- true if the user has permission
-
hasPermissionOutsideOfGroups
boolean hasPermissionOutsideOfGroups(@Nullable String username, com.atlassian.crowd.model.permission.UserPermission permission, Collection<com.atlassian.crowd.manager.permission.DirectoryGroup> excludedGroups) Does the provided user have the provided permission when not considering the provided groups.This method is intended to be used to determine if a group is exclusively providing a given permission.
- Parameters:
username- user to check, null for the anonymous userpermission- permission requiredexcludedGroups- groups to exclude in permission check, or an empty list otherwise- Returns:
- true if the user has permission outside of the provided groups
-
isGroupLevelAdmin
Does the provided user have Group Level Admin permissions.- Parameters:
username- user to check, null for anonymous user- Returns:
- true if the user has Group Level Admin permissions
-
getSysAdmins
@ExperimentalApi default Set<com.atlassian.crowd.model.user.User> getSysAdmins(com.atlassian.crowd.model.application.Application application, boolean includeLocallyCachedOnly) throws com.atlassian.crowd.exception.DirectoryNotFoundException, com.atlassian.crowd.exception.OperationFailedException - Parameters:
application- application the permission applies toincludeLocallyCachedOnly- if set to true will limit search to users stored locally- Returns:
- users with SYS_ADMIN permission.
- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundExceptioncom.atlassian.crowd.exception.OperationFailedException
-
getUsersWithPermission
@ExperimentalApi Set<com.atlassian.crowd.model.user.User> getUsersWithPermission(com.atlassian.crowd.model.application.Application application, com.atlassian.crowd.model.permission.UserPermission userPermission, boolean includeLocallyCachedOnly) throws com.atlassian.crowd.exception.DirectoryNotFoundException, com.atlassian.crowd.exception.OperationFailedException - Parameters:
application- application the permission applies touserPermission- permission to checkincludeLocallyCachedOnly- if set to true will limit search to users stored locally- Returns:
- users with the given permission
- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundExceptioncom.atlassian.crowd.exception.OperationFailedException- Since:
- 3.7
-
getGroupLevelAdmins
@ExperimentalApi Set<com.atlassian.crowd.model.user.User> getGroupLevelAdmins(boolean considerOnlyTargetGroupsWithApplications) throws com.atlassian.crowd.exception.DirectoryNotFoundException, com.atlassian.crowd.exception.OperationFailedException - Parameters:
considerOnlyTargetGroupsWithApplications- whether groups without any active application should be taken into account- Returns:
- users with group level admin permission.
- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundExceptioncom.atlassian.crowd.exception.OperationFailedException
-