Interface UserPermissionService


public interface UserPermissionService
Check Crowd access permissions for users, eg SYS_ADMIN and ADMIN.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    currentUserHasPermission(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)
     
    boolean
    hasPermission(String username, com.atlassian.crowd.model.permission.UserPermission permission)
    Does the provided user have the provided permission.
    boolean
    hasPermissionOutsideOfGroups(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.
    boolean
    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 user
      permission - 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 user
      permission - permission required
      excludedGroups - groups to exclude in permission check, or an empty list otherwise
      Returns:
      true if the user has permission outside of the provided groups
    • isGroupLevelAdmin

      boolean isGroupLevelAdmin(@Nullable String username)
      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 to
      includeLocallyCachedOnly - if set to true will limit search to users stored locally
      Returns:
      users with SYS_ADMIN permission.
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
      com.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 to
      userPermission - permission to check
      includeLocallyCachedOnly - if set to true will limit search to users stored locally
      Returns:
      users with the given permission
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
      com.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.DirectoryNotFoundException
      com.atlassian.crowd.exception.OperationFailedException