@PublicApi
public interface PermissionManager
See JIRA Permissions.
For all global Permissions it is recommended to use GlobalPermissionManager
.
Modifier and Type | Method and Description |
---|---|
void |
flushCache()
Flushes any cached project permissions for all users.
|
Collection<com.atlassian.crowd.embedded.api.Group> |
getAllGroups(int permissionId,
Project project)
Retrieve all groups that are used in the permission globally and in the project.
|
Collection<ProjectPermission> |
getAllProjectPermissions() |
Collection<Project> |
getArchivedProjects(ProjectPermissionKey permissionKey,
ApplicationUser user)
Retrieve a list of archived project objects this user has the permission for
|
com.atlassian.fugue.Option<ProjectPermission> |
getProjectPermission(ProjectPermissionKey permissionKey)
Returns a project permission matching the specified key.
|
Collection<ProjectPermission> |
getProjectPermissions(ProjectPermissionCategory category) |
Collection<Project> |
getProjects(int permissionId,
ApplicationUser user)
Deprecated.
Use
getProjects(ProjectPermissionKey, ApplicationUser) instead. Since v6.3. |
Collection<Project> |
getProjects(int permissionId,
ApplicationUser user,
ProjectCategory projectCategory)
Deprecated.
Use
getProjects(ProjectPermissionKey, ApplicationUser, ProjectCategory) instead. Since v6.3. |
Collection<Project> |
getProjects(ProjectPermissionKey permissionKey,
ApplicationUser user)
Retrieve a list of project objects this user has the permission for
|
Collection<Project> |
getProjects(ProjectPermissionKey permissionKey,
ApplicationUser user,
ProjectCategory projectCategory)
Returns the list of projects associated with the specified category, that this user has the permissions for.
|
boolean |
hasPermission(int permissionsId,
ApplicationUser user)
Deprecated.
|
boolean |
hasPermission(int permissionsId,
Issue issue,
ApplicationUser user)
Deprecated.
Use
hasPermission(ProjectPermissionKey, Issue, ApplicationUser) instead. Since v6.3. |
boolean |
hasPermission(int permissionsId,
Project project,
ApplicationUser user)
Deprecated.
Use
hasPermission(ProjectPermissionKey, Project, ApplicationUser) instead. Since v6.3. |
boolean |
hasPermission(int permissionsId,
Project project,
ApplicationUser user,
boolean issueCreation)
Deprecated.
Use
hasPermission(ProjectPermissionKey, Project, ApplicationUser, boolean) instead. Since v6.3. |
boolean |
hasPermission(ProjectPermissionKey permissionKey,
Issue issue,
ApplicationUser user)
Checks to see if this user has permission to see the specified issue.
|
boolean |
hasPermission(ProjectPermissionKey permissionKey,
Issue issue,
ApplicationUser user,
com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Checks to see if this user has the given permission to the specified issue after the given workflow transition takes effect.
|
boolean |
hasPermission(ProjectPermissionKey permissionKey,
Issue issue,
ApplicationUser user,
Status status)
Checks to see if this user has the given permission to the specified issue if the issue was in the given status.
|
boolean |
hasPermission(ProjectPermissionKey permissionKey,
Project project,
ApplicationUser user)
Checks whether the specified user has a specified permission within the context of a specified project.
|
boolean |
hasPermission(ProjectPermissionKey permissionKey,
Project project,
ApplicationUser user,
boolean issueCreation)
Checks whether the specified user has a specified permission within the context of a specified project.
|
boolean |
hasProjects(int permissionId,
ApplicationUser user)
Deprecated.
Use
hasProjects(ProjectPermissionKey, ApplicationUser) instead. Since v6.3. |
boolean |
hasProjects(ProjectPermissionKey permissionKey,
ApplicationUser user)
Can this user see at least one project with this permission
|
ProjectWidePermission |
hasProjectWidePermission(ProjectPermissionKey permissionKey,
Project project,
ApplicationUser user)
Checks whether a user has a particular permission in the given project.
|
default boolean |
hasPublicAccess(ApplicationUser applicationUser)
Verifies if anonymous user has public access to JIRA
|
void |
removeGroupPermissions(String group)
Remove all permissions that have used this group
|
void |
removeUserPermissions(ApplicationUser user)
Remove all permissions that have been assigned to this user
|
Collection<ProjectPermission> getAllProjectPermissions()
Collection<ProjectPermission> getProjectPermissions(@Nonnull ProjectPermissionCategory category)
category
- project permission category.com.atlassian.fugue.Option<ProjectPermission> getProjectPermission(@Nonnull ProjectPermissionKey permissionKey)
permissionKey
- A project permission key.Option.none()
if there is no permission with this key.@Deprecated boolean hasPermission(int permissionsId, ApplicationUser user)
GlobalPermissionManager.hasPermission(com.atlassian.jira.permission.GlobalPermissionKey, com.atlassian.jira.user.ApplicationUser)
instead. Since v6.2.5.permissionsId
- permission iduser
- user, can be null - anonymous userGlobalPermissionManager.hasPermission(int, ApplicationUser)
@Deprecated boolean hasPermission(int permissionsId, Issue issue, ApplicationUser user)
hasPermission(ProjectPermissionKey, Issue, ApplicationUser)
instead. Since v6.3.Note that if the issue's generic value is null, it is assumed that the issue is currently being created, and so the permission check call is deferred to the issue's project object, with the issueCreation flag set to true. See JRA-14788 for more info.
permissionsId
- Not a global permissionissue
- The Issue (cannot be null)user
- User object, possibly null if JIRA is accessed anonymouslyboolean hasPermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Issue issue, @Nullable ApplicationUser user)
Note that if the issue's generic value is null, it is assumed that the issue is currently being created, and so the permission check call is deferred to the issue's project object, with the issueCreation flag set to true. See JRA-14788 for more info.
permissionKey
- Not a global permission keyissue
- The Issue (cannot be null)user
- User object, possibly null if JIRA is accessed anonymously@Internal boolean hasPermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Issue issue, @Nullable ApplicationUser user, @Nullable com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
permissionKey
- The project permission key.issue
- The Issue (cannot be null)user
- User object, possibly null if JIRA is accessed anonymouslyactionDescriptor
- Represents the current workflow transitionboolean hasPermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Issue issue, @Nullable ApplicationUser user, @Nonnull Status status)
This method is useful during a workflow transition to check what the permissions will be in the new status, or (after the status is updated in the Issue object) to check what the permission would have been in the old status.
permissionKey
- The project permission key.issue
- The Issue (cannot be null)user
- User object, possibly null if JIRA is accessed anonymouslystatus
- Represents the state we are checking permissions against@Deprecated boolean hasPermission(int permissionsId, Project project, ApplicationUser user)
hasPermission(ProjectPermissionKey, Project, ApplicationUser)
instead. Since v6.3.permissionsId
- A non-global permission, i.e. a permission that is granted via a project contextproject
- The project that is the context of the permission check.user
- The person to perform the permission check forboolean hasPermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Project project, @Nullable ApplicationUser user)
permissionKey
- A non-global permission, i.e. a permission that is granted via a project contextproject
- The project that is the context of the permission check.user
- The person to perform the permission check forhasProjectWidePermission(ProjectPermissionKey, Project, ApplicationUser)
@ExperimentalApi @Nonnull ProjectWidePermission hasProjectWidePermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Project project, @Nullable ApplicationUser user)
This method returns a tri-state enum in order to convey information about permissions that are granted on a per-issue basis.
ISSUE_SPECIFIC
, it may be that there are no issues for which the
user has the permission granted.
permissionKey
- A project permissionproject
- The project that is the context of the permission check.user
- The person to perform the permission check for (null means anonymous)ALL_ISSUES
, NO_ISSUES
, or ISSUE_SPECIFIC
hasPermission(ProjectPermissionKey, Project, ApplicationUser)
@Deprecated boolean hasPermission(int permissionsId, Project project, ApplicationUser user, boolean issueCreation)
hasPermission(ProjectPermissionKey, Project, ApplicationUser, boolean)
instead. Since v6.3.permissionsId
- A non-global permission, i.e. a permission that is granted via a project contextproject
- The project that is the context of the permission check.user
- The person to perform the permission check forissueCreation
- Whether this permission is being checked during issue creationboolean hasPermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Project project, @Nullable ApplicationUser user, boolean issueCreation)
permissionKey
- A non-global permission, i.e. a permission that is granted via a project contextproject
- The project that is the context of the permission check.user
- The person to perform the permission check forissueCreation
- Whether this permission is being checked during issue creationvoid removeGroupPermissions(String group) throws RemoveException
group
- The name of the group that needs to be removed, must NOT be null and must be a real groupRemoveException
- if permission removal failsvoid removeUserPermissions(ApplicationUser user) throws RemoveException
user
- the user whose permissions are to be removedRemoveException
@Deprecated boolean hasProjects(int permissionId, ApplicationUser user)
hasProjects(ProjectPermissionKey, ApplicationUser)
instead. Since v6.3.permissionId
- must NOT be a global permissionuser
- user being checkedboolean hasProjects(@Nonnull ProjectPermissionKey permissionKey, @Nullable ApplicationUser user)
permissionKey
- must NOT be a global permissionuser
- user being checked@Deprecated Collection<Project> getProjects(int permissionId, ApplicationUser user)
getProjects(ProjectPermissionKey, ApplicationUser)
instead. Since v6.3.permissionId
- must NOT be a global permissionuser
- userProject
objectsCollection<Project> getProjects(@Nonnull ProjectPermissionKey permissionKey, @Nullable ApplicationUser user)
permissionKey
- must NOT be a global permissionuser
- userProject
objects@Deprecated Collection<Project> getProjects(int permissionId, ApplicationUser user, ProjectCategory projectCategory)
getProjects(ProjectPermissionKey, ApplicationUser, ProjectCategory)
instead. Since v6.3.permissionId
- permission iduser
- userprojectCategory
- the ProjectCategoryCollection<Project> getProjects(@Nonnull ProjectPermissionKey permissionKey, @Nullable ApplicationUser user, @Nullable ProjectCategory projectCategory)
permissionKey
- permission keyuser
- userprojectCategory
- the ProjectCategory - null means find projects with no category.@ExperimentalApi Collection<Project> getArchivedProjects(@Nonnull ProjectPermissionKey permissionKey, @Nullable ApplicationUser user)
permissionKey
- must NOT be a global permissionuser
- userProject
objects@ExperimentalApi void flushCache()
Collection<com.atlassian.crowd.embedded.api.Group> getAllGroups(int permissionId, Project project)
permissionId
- permission idproject
- project from which to retrieve groupsdefault boolean hasPublicAccess(@Nullable ApplicationUser applicationUser)
applicationUser
- user being checkedCopyright © 2002-2019 Atlassian. All Rights Reserved.