com.atlassian.jira.security
Interface PermissionManager

All Superinterfaces:
JiraManager
All Known Implementing Classes:
AbstractPermissionManager, DefaultPermissionManager, SubvertedPermissionManager, ThreadLocalCachingPermissionManager, WorkflowBasedPermissionManager

public interface PermissionManager
extends JiraManager

Manager responsible for JIRA Permissions.


Method Summary
 void addPermission(int permissionsId, org.ofbiz.core.entity.GenericValue scheme, String parameter, String securityType)
          Adds a permission to the system
 Collection getAllGroups(int permissionId, org.ofbiz.core.entity.GenericValue project)
          Retrieve all groups that are used in the permission globally and in the project entity
 Collection getProjects(int permissionId, User user)
          Retrieve a list of projects this user has the permission for
 Collection getProjects(int permissionId, User user, org.ofbiz.core.entity.GenericValue category)
          Retrieve a list of projects associated with the specified category, that this user has the permissions for
 boolean hasPermission(int permissionsId, org.ofbiz.core.entity.GenericValue entity, User u)
          Deprecated. use hasPermission(int, Issue, User) for Issues or hasPermission(int, Project, User) for Projects since JIRA 3.11
 boolean hasPermission(int permissionsId, org.ofbiz.core.entity.GenericValue project, User u, boolean issueCreation)
          Deprecated. use hasPermission(int, Issue, User) for Issues or hasPermission(int, Project, User, boolean) for Projects since 3.11
 boolean hasPermission(int permissionsId, Issue entity, User u)
          Does the same as hasPermission(int,org.ofbiz.core.entity.GenericValue,com.opensymphony.user.User) except the entity is an issue.
 boolean hasPermission(int permissionsId, Project project, User user)
          Checks whether the specified user has a specified permission within the context of a specified project.
 boolean hasPermission(int permissionsId, Project project, User user, boolean issueCreation)
          Checks whether the specified user has a specified permission within the context of a specified project.
 boolean hasPermission(int permissionsId, User user)
          Checks to see if this user has the specified permission It will check only global permissions as there are no other permissions to check
 boolean hasProjects(int permissionId, User user)
          Can this user see atleast one project with this permission
 void removeGroupPermissions(String group)
          Remove all permissions that have used this group
 void removeUserPermissions(String username)
          Remove all permissions that have used this username
 

Method Detail

addPermission

void addPermission(int permissionsId,
                   org.ofbiz.core.entity.GenericValue scheme,
                   String parameter,
                   String securityType)
                   throws CreateException
Adds a permission to the system

Parameters:
permissionsId - Permissions value. E.g. See Permissions.ADMINISTER
scheme - If null permission is global otherwise it is added to the scheme
parameter - Used for e.g. group name
securityType - e.g. GroupDropdown.DESC
Throws:
CreateException

hasPermission

boolean hasPermission(int permissionsId,
                      User user)
Checks to see if this user has the specified permission It will check only global permissions as there are no other permissions to check

Parameters:
permissionsId - permission id
user - user
Returns:
true if user is granted given permission, false otherwise

hasPermission

boolean hasPermission(int permissionsId,
                      org.ofbiz.core.entity.GenericValue entity,
                      User u)
Deprecated. use hasPermission(int, Issue, User) for Issues or hasPermission(int, Project, User) for Projects since JIRA 3.11

Checks to see if this has permission to see the specified entity Check Permissions scheme(s) if the entity is project Check Permissions scheme(s) and issue level security scheme(s) if the entity is an issue

Parameters:
permissionsId - Not a global permission
entity - Not null. Must be either an issue or project.
u - User object, possibly null if JIRA is accessed anonymously
Returns:
True if there are sufficient rights to access the entity supplied
Throws:
IllegalArgumentException - If the entity supplied is NOT an issue or project.

hasPermission

boolean hasPermission(int permissionsId,
                      Issue entity,
                      User u)
Does the same as hasPermission(int,org.ofbiz.core.entity.GenericValue,com.opensymphony.user.User) except the entity is an issue.

Parameters:
permissionsId - Not a global permission
entity - Not null.
u - User object, possibly null if JIRA is accessed anonymously
Returns:
True if there are sufficient rights to access the entity supplied

hasPermission

boolean hasPermission(int permissionsId,
                      Project project,
                      User user)
Checks whether the specified user has a specified permission within the context of a specified project.

Parameters:
permissionsId - A non-global permission, i.e. a permission that is granted via a project context
project - The project that is the context of the permission check.
user - The person to perform the permission check for
Returns:
true if the user has the specified permission in the context of the supplied project

hasPermission

boolean hasPermission(int permissionsId,
                      Project project,
                      User user,
                      boolean issueCreation)
Checks whether the specified user has a specified permission within the context of a specified project.

Parameters:
permissionsId - A non-global permission, i.e. a permission that is granted via a project context
project - The project that is the context of the permission check.
user - The person to perform the permission check for
issueCreation - Whether this permission is being checked during issue creation
Returns:
true if the user has the specified permission in the context of the supplied project

hasPermission

boolean hasPermission(int permissionsId,
                      org.ofbiz.core.entity.GenericValue project,
                      User u,
                      boolean issueCreation)
Deprecated. use hasPermission(int, Issue, User) for Issues or hasPermission(int, Project, User, boolean) for Projects since 3.11

Does the same as hasPermission(int,org.ofbiz.core.entity.GenericValue,com.opensymphony.user.User) except the entity is a project GenericValue.

Parameters:
permissionsId - Not a global permission
project - Not null.
u - User object, possibly null if JIRA is accessed anonymously
issueCreation - Whether this permission is being checked during issue creation
Returns:
True if there are sufficient rights to access the entity supplied

removeGroupPermissions

void removeGroupPermissions(String group)
                            throws RemoveException
Remove all permissions that have used this group

Parameters:
group - The name of the group that needs to be removed, must NOT be null and must be a real group
Throws:
RemoveException - if permission removal fails

removeUserPermissions

void removeUserPermissions(String username)
                           throws RemoveException
Remove all permissions that have used this username

Parameters:
username - username of the user whose permissions are to be removed
Throws:
RemoveException - if permission removal fails

hasProjects

boolean hasProjects(int permissionId,
                    User user)
                    throws Exception
Can this user see atleast one project with this permission

Parameters:
permissionId - must NOT be a global permission
user -
Throws:
Exception

getProjects

Collection getProjects(int permissionId,
                       User user)
Retrieve a list of projects this user has the permission for

Parameters:
permissionId - must NOT be a global permission
user -

getProjects

Collection getProjects(int permissionId,
                       User user,
                       org.ofbiz.core.entity.GenericValue category)
                       throws org.ofbiz.core.entity.GenericEntityException
Retrieve a list of projects associated with the specified category, that this user has the permissions for

Parameters:
permissionId -
user -
category -
Throws:
org.ofbiz.core.entity.GenericEntityException

getAllGroups

Collection getAllGroups(int permissionId,
                        org.ofbiz.core.entity.GenericValue project)
                        throws Exception
Retrieve all groups that are used in the permission globally and in the project entity

Parameters:
permissionId -
project - project to retireve groups from
Throws:
Exception


Copyright © 2002-2007 Atlassian. All Rights Reserved.