Interface GlobalPermissionManager
- All Known Implementing Classes:
DefaultGlobalPermissionManager
The system global permissions are:
GlobalPermissionKey.SYSTEM_ADMIN
GlobalPermissionKey.ADMINISTER
GlobalPermissionKey.USE
GlobalPermissionKey.USER_PICKER
GlobalPermissionKey.CREATE_SHARED_OBJECTS
GlobalPermissionKey.MANAGE_GROUP_FILTER_SUBSCRIPTIONS
GlobalPermissionKey.BULK_CHANGE
getAllGlobalPermissions()
in order to get the collection of all global permissions, which includes
plugin global permissions.
For project specific permissions use PermissionManager
.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addPermission
(int permissionType, String group) Deprecated.boolean
addPermission
(GlobalPermissionType globalPermissionType, String group) Grants a user group a global permission.void
io.atlassian.fugue.Option
<GlobalPermissionType> getGlobalPermission
(int permissionId) Deprecated.usegetGlobalPermission(GlobalPermissionKey)
to get global permission by key.io.atlassian.fugue.Option
<GlobalPermissionType> getGlobalPermission
(GlobalPermissionKey permissionKey) Returns the global permission details for the given permission key.io.atlassian.fugue.Option
<GlobalPermissionType> getGlobalPermission
(String permissionKey) Returns a global permission matching the specified key.getGroupNames
(int permissionId) getGroupNames
(GlobalPermissionType globalPermissionType) Deprecated.getGroupNamesWithPermission
(GlobalPermissionKey permissionKey) Retrieve all the group names with this permission.Collection
<com.atlassian.crowd.embedded.api.Group> getGroupsWithPermission
(int permissionId) Collection
<com.atlassian.crowd.embedded.api.Group> getGroupsWithPermission
(GlobalPermissionKey permissionKey) Retrieve all the groups with the given permission.Collection
<com.atlassian.crowd.embedded.api.Group> getGroupsWithPermission
(GlobalPermissionType globalPermissionType) Deprecated.getPermissions
(int permissionType) Deprecated.getPermissions
(GlobalPermissionKey globalPermissionKey) Retrieve a list of user groups which have been granted the specified permission.getPermissions
(GlobalPermissionType globalPermissionType) Deprecated.boolean
hasPermission
(int permissionType) boolean
hasPermission
(int permissionType, ApplicationUser user) boolean
hasPermission
(GlobalPermissionKey globalPermissionKey, ApplicationUser user) Check if the given user has the given Global Permission.boolean
hasPermission
(GlobalPermissionType globalPermissionType) boolean
hasPermission
(GlobalPermissionType globalPermissionType, ApplicationUser user) boolean
isGlobalPermission
(int permissionId) Deprecated.UseGlobalPermissionKey
instead ofint
.boolean
isPermissionManagedByJira
(GlobalPermissionKey permissionKey) Checks if jira should be responsible for managing a permission.boolean
removePermission
(int permissionType, String group) Deprecated.boolean
removePermission
(GlobalPermissionType globalPermissionType, String group) Revokes a global permission for a user groupboolean
removePermissions
(String group) Revoke all global permissions for a user group.
-
Method Details
-
getAllGlobalPermissions
- Returns:
- the collection with all global permissions. This includes all the systems global permissions and all the plugin global permissions.
-
getGlobalPermission
Deprecated.usegetGlobalPermission(GlobalPermissionKey)
to get global permission by key. Eventually, we want to stop referring to Global Permission's by ID.- Parameters:
permissionId
- id of the permission.- Returns:
- a global permission (system and pluggable) for the given permission id.
-
getGlobalPermission
@ExperimentalApi io.atlassian.fugue.Option<GlobalPermissionType> getGlobalPermission(@Nonnull GlobalPermissionKey permissionKey) Returns the global permission details for the given permission key.- Parameters:
permissionKey
- the global permission key- Returns:
- the global permission details for the given permission key.
- Since:
- 6.2.5
-
getGlobalPermission
@ExperimentalApi io.atlassian.fugue.Option<GlobalPermissionType> getGlobalPermission(@Nonnull String permissionKey) Returns a global permission matching the specified key.- Parameters:
permissionKey
- the key of the permission declared by global permission module.- Returns:
- a global permission for the given permission key.
-
addPermission
Deprecated.Grants a user group a global permission.- Parameters:
permissionType
- the global permission id.group
- the name of the group. Null means "anyone" group. The JIRA use, admin and sysadmin permission cannot be granted to anyone.- Returns:
- true if the permission was added.
-
addPermission
@ExperimentalApi boolean addPermission(@Nonnull GlobalPermissionType globalPermissionType, String group) Grants a user group a global permission.- Parameters:
globalPermissionType
- global permission, must not be null.group
- the name of the group. Null means "anyone" group. The JIRA use, admin and sysadmin permission cannot be granted to "anyone".- Returns:
- true if permission was added.
-
getPermissions
Deprecated.Retrieve a list of user groups which have been granted a specified permission. The returnedJiraPermission
contains a reference to the user group.JiraPermission.getScheme()
is always NULL, because Global permission are not configured using schemes.JiraPermission.getType()
will always return "group", because global permissions can only be granted to groups.- Parameters:
permissionType
- The key of pluggable global permission. Must be a global permission.- Returns:
- Collection of
JiraPermission.getPermType()
, must never return null.
-
getPermissions
@Internal Collection<GlobalPermissionEntry> getPermissions(GlobalPermissionType globalPermissionType) Deprecated.UsegetPermissions(com.atlassian.jira.permission.GlobalPermissionKey)
instead. Since v6.2.5.Retrieve a list of user groups which have been granted a specified permission. The returnedJiraPermission
contains a reference to the user group.JiraPermission.getScheme()
is always NULL, because Global permission are not configured using schemes.JiraPermission.getType()
will always return "group", because global permissions can only be granted to groups.- Parameters:
globalPermissionType
- global permission, must not be null.- Returns:
- Collection of
JiraPermission.getPermType()
, must never return null.
-
getPermissions
@ExperimentalApi @Nonnull Collection<GlobalPermissionEntry> getPermissions(@Nonnull GlobalPermissionKey globalPermissionKey) Retrieve a list of user groups which have been granted the specified permission.The returned
GlobalPermissionEntry
contains a reference to the user group.- Parameters:
globalPermissionKey
- global permission, must not be null.- Returns:
- Collection of
GlobalPermissionEntry
, never null. - Since:
- 6.2.5
-
removePermission
Deprecated.Revokes a global permission for a user group- Parameters:
permissionType
- the global permission.group
- the group name. NULL means the anyone group.- Returns:
- true if the permission was revoked, false if not (e.g. the group does not have this permission)
-
removePermission
Revokes a global permission for a user group- Parameters:
globalPermissionType
- global permission, must not be null.group
- the group name. NULL means the anyone group.- Returns:
- true if the permission was revoked, false if not (e.g. the group does not have this permission)
-
removePermissions
Revoke all global permissions for a user group.- Parameters:
group
- cannot NOT be null and the group must exist.- Returns:
- true, if this group does not have any global permissions
-
hasPermission
boolean hasPermission(int permissionType) Deprecated.Check if a global permission is granted for an anonymous user.If the permission is
Permissions.ADMINISTER
and the lookup is false then the same query will be executed for thePermissions.SYSTEM_ADMIN
permission type, since it is implied that having aPermissions.SYSTEM_ADMIN
permission grantsPermissions.ADMINISTER
rights.Note: Use
hasPermission(int, ApplicationUser)
method is you have the user object, i.e. user is not anonymous.If you are using this method directly, consider using
PermissionManager.hasPermission(int, ApplicationUser)
instead as it handles logged in and anonymous users as well.- Parameters:
permissionType
- must be global permission- Returns:
- true the anonymous user has the permission of given type, false otherwise
- See Also:
-
hasPermission
Deprecated.UsehasPermission(com.atlassian.jira.permission.GlobalPermissionKey, com.atlassian.jira.user.ApplicationUser)
instead. Since v6.2.5.Left in here temporarily in case it is being used by SD 2.0 -
hasPermission
Deprecated.Check if a global permission for one of the users groups exists.If the permission type is
Permissions.ADMINISTER
and the lookup is false then the same query will be executed for thePermissions.SYSTEM_ADMIN
permission type, since it is implied that having aPermissions.SYSTEM_ADMIN
permission grantsPermissions.ADMINISTER
rights.Note: Use
hasPermission(int)
method is you do not have the user object, i.e. user is anonymous.If you are using this method directly, consider using
PermissionManager.hasPermission(int, ApplicationUser)
instead as it handles logged in and anonymous users as well.- Parameters:
permissionType
- must be a global permissionuser
- must not be null- Returns:
- true if the given user has the permission of given type, otherwise false
- See Also:
-
hasPermission
@Internal boolean hasPermission(@Nonnull GlobalPermissionType globalPermissionType, @Nullable ApplicationUser user) Deprecated.UsehasPermission(com.atlassian.jira.permission.GlobalPermissionKey, com.atlassian.jira.user.ApplicationUser)
instead. Since v6.2.5.Left in here temporarily in case it is being used by SD 2.0 -
hasPermission
@ExperimentalApi boolean hasPermission(@Nonnull GlobalPermissionKey globalPermissionKey, @Nullable ApplicationUser user) Check if the given user has the given Global Permission.If the permission type is
GlobalPermissionKey.ADMINISTER
and the lookup is false then the same query will be executed for theGlobalPermissionKey.SYSTEM_ADMIN
permission type, since it is implied that having aGlobalPermissionKey.SYSTEM_ADMIN
permission grantsGlobalPermissionKey.ADMINISTER
rights.- Parameters:
globalPermissionKey
- global permission, must not be null.user
- The user - can be null indicating "anonymous"- Returns:
- true if the given user has the permission of given type, otherwise false.
- Since:
- 6.2.5
-
getGroupsWithPermission
Retrieve all the groups with this permission. Only groups directly associated with the permission will be returned.- Parameters:
permissionId
- must be a global permission- Returns:
- a Collection of
Group
's, will never be null.
-
getGroupsWithPermission
@Internal Collection<com.atlassian.crowd.embedded.api.Group> getGroupsWithPermission(@Nonnull GlobalPermissionType globalPermissionType) Deprecated.UsegetGroupsWithPermission(com.atlassian.jira.permission.GlobalPermissionKey)
instead. Since v6.2.5.Retrieve all the groups with this permission. Only groups directly associated with the permission will be returned.- Parameters:
globalPermissionType
- global permission, must not be null.- Returns:
- a Collection of
Group
's, will never be null.
-
getGroupsWithPermission
@ExperimentalApi @Nonnull Collection<com.atlassian.crowd.embedded.api.Group> getGroupsWithPermission(@Nonnull GlobalPermissionKey permissionKey) Retrieve all the groups with the given permission.Only groups directly associated with the permission will be returned.
- Parameters:
permissionKey
- global permission, must not be null.- Returns:
- a Collection of
Group
's, will never be null. - Since:
- 6.2.5
-
getGroupNames
Retrieve all the group names with this permission. Only group names directly associated with the permission will be returned.- Parameters:
permissionId
- must be a global permission- Returns:
- a Collection of String, group names, will never be null.
-
getGroupNames
Deprecated.UsegetGroupNamesWithPermission(com.atlassian.jira.permission.GlobalPermissionKey)
instead. Since v6.2.5.Retrieve all the group names with this permission. Only group names directly associated with the permission will be returned.- Parameters:
globalPermissionType
- global permission, must not be null.- Returns:
- a Collection of String, group names, will never be null.
-
getGroupNamesWithPermission
@ExperimentalApi @Nonnull Collection<String> getGroupNamesWithPermission(@Nonnull GlobalPermissionKey permissionKey) Retrieve all the group names with this permission. Only group names directly associated with the permission will be returned.- Parameters:
permissionKey
- global permission, must not be null.- Returns:
- a Collection of String, group names, will never be null.
- Since:
- 6.2.5
-
isGlobalPermission
@ExperimentalApi boolean isGlobalPermission(int permissionId) Deprecated.UseGlobalPermissionKey
instead ofint
. Since v6.2.5- Parameters:
permissionId
- id of the permission to check.- Returns:
- true if provided id is the id of a global permission.
-
clearCache
@Internal void clearCache() -
isPermissionManagedByJira
Checks if jira should be responsible for managing a permission. I.e. in on demand mode USE permission might be managed by User Manager, therefore admin should not be able to add it via jira.- Parameters:
permissionKey
- global permission- Returns:
- true if permission is managed by jira, false otherwise.
-
addPermission(com.atlassian.jira.permission.GlobalPermissionType, String)
instead.