public class ProjectAccessController extends AbstractProfileStorageBasedAccessController implements Contextualizable
AccessController for a Project
 The projects' managers have all rights on their projectsAbstractProfileStorageBasedAccessController.CacheKindAccessController.AccessResult| Modifier and Type | Field and Description | 
|---|---|
private static String | 
__RIGHT_PROJECT_FO_EDIT  | 
protected Context | 
_context
The avalon context 
 | 
protected ProjectManager | 
_projectManager
The project manager 
 | 
protected SiteManager | 
_siteManager
The web site manager 
 | 
__ANONYMOUS_USER_IDENTITY, __ANY_CONTECTED_USER_IDENTITY, _profileAssignmentStorageEP, _rightManager, _rightProfileDAO| Constructor and Description | 
|---|
ProjectAccessController()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected Set<? extends Object> | 
_convertWorkspaceToRootRightContexts(Set<Object> workspacesContexts)
Get the current workspaces contexts and turn it into root contexts in order to allow methods hasXXXAnyPermissionOnWorkspace to work 
 | 
void | 
contextualize(Context context)  | 
AccessController.AccessResult | 
getPermission(UserIdentity user,
             Set<GroupIdentity> userGroups,
             String rightId,
             Object object)
Gets the kind of access a user has on an object for a given right 
 | 
Map<String,AccessController.AccessResult> | 
getPermissionByRight(UserIdentity user,
                    Set<GroupIdentity> userGroups,
                    Object object)
Gets the kind of access a user has on an object for all rights 
 | 
Map<UserIdentity,AccessController.AccessResult> | 
getPermissionByUser(String rightId,
                   Object object)
Gets the permission by user only on an object for the given right. 
 | 
boolean | 
hasUserAnyPermissionOnWorkspace(Set<Object> workspacesContexts,
                               UserIdentity user,
                               Set<GroupIdentity> userGroups,
                               String rightId)
Returns true if the user has a permission on at least one object, directly or though groups, for a given rights and if the object is attached to the given context that is /${WorkspaceName} and its conversions. 
 | 
boolean | 
isSupported(Object object)
Returns true if this access controller supports the given object 
 | 
void | 
service(ServiceManager manager)  | 
_convertContext, _getPermission, _getPermissionByGroup, _getPermissionByUser, _getPermissionForAnonymous, _getPermissionForAnyConnectedUser, _hasRightResultInFirstCache, _hasRightResultInSecondCache, _putInFirstCache, _putInSecondCache, getPermissionByGroup, getPermissionForAnonymous, getPermissionForAnyConnectedUser, getReadAccessPermission, getReadAccessPermissionByGroup, getReadAccessPermissionByUser, getReadAccessPermissionForAnonymous, getReadAccessPermissionForAnyConnectedUser, hasAnonymousAnyPermissionOnWorkspace, hasAnonymousAnyReadAccessPermissionOnWorkspace, hasAnyConnectedUserAnyPermissionOnWorkspace, hasAnyConnectedUserAnyReadAccessPermissionOnWorkspace, hasUserAnyReadAccessPermissionOnWorkspacegetLogger, setLoggerprivate static final String __RIGHT_PROJECT_FO_EDIT
protected SiteManager _siteManager
protected ProjectManager _projectManager
public ProjectAccessController()
public void contextualize(Context context) throws ContextException
contextualize in interface ContextualizableContextExceptionpublic void service(ServiceManager manager) throws ServiceException
service in interface Serviceableservice in class AbstractProfileStorageBasedAccessControllerServiceExceptionpublic boolean isSupported(Object object)
AccessControllerisSupported in interface AccessControllerobject - The object to testprotected Set<? extends Object> _convertWorkspaceToRootRightContexts(Set<Object> workspacesContexts)
AbstractProfileStorageBasedAccessController_convertWorkspaceToRootRightContexts in class AbstractProfileStorageBasedAccessControllerworkspacesContexts - The workspace contexts. Such as '/${WorkspaceName}', '/admin'public AccessController.AccessResult getPermission(UserIdentity user, Set<GroupIdentity> userGroups, String rightId, Object object)
AccessControllergetPermission in interface AccessControllergetPermission in class AbstractProfileStorageBasedAccessControlleruser - The user. Cannot be null.userGroups - The groups the user belongs torightId - The id of the right of the userobject - The context object to check the accesspublic Map<String,AccessController.AccessResult> getPermissionByRight(UserIdentity user, Set<GroupIdentity> userGroups, Object object)
AccessControllergetPermissionByRight in interface AccessControllergetPermissionByRight in class AbstractProfileStorageBasedAccessControlleruser - The user. Cannot be null.userGroups - The groups the user belongs toobject - The context object to check the accesspublic Map<UserIdentity,AccessController.AccessResult> getPermissionByUser(String rightId, Object object)
AccessControllergetPermissionByUser in interface AccessControllergetPermissionByUser in class AbstractProfileStorageBasedAccessControllerrightId - The id of the right to checkobject - The objectpublic boolean hasUserAnyPermissionOnWorkspace(Set<Object> workspacesContexts, UserIdentity user, Set<GroupIdentity> userGroups, String rightId)
AccessControllerhasUserAnyPermissionOnWorkspace in interface AccessControllerhasUserAnyPermissionOnWorkspace in class AbstractProfileStorageBasedAccessControllerworkspacesContexts - The contexts to tests such as {"/${WorkspaceName}", "/repository", "/admin"}user - The useruserGroups - The groupsrightId - The id of the right to check