T
- The class of a supported object, from which you can retrieve its parent with _getParents(Object)
public abstract class AbstractHierarchicalAccessController<T> extends AbstractProfileStorageBasedAccessController
AccessController
for a hierarchical type of object.AbstractProfileStorageBasedAccessController.CacheKind
AccessController.AccessResult
__ANONYMOUS_USER_IDENTITY, __ANY_CONTECTED_USER_IDENTITY, _profileAssignmentStorageEP, _rightManager, _rightProfileDAO
Constructor and Description |
---|
AbstractHierarchicalAccessController() |
Modifier and Type | Method and Description |
---|---|
protected abstract Set<T> |
_getParents(T object)
Gets the parents of the object.
|
protected AccessController.AccessResult |
_getPermission(UserIdentity user,
Set<GroupIdentity> userGroups,
Set<String> profilesIds,
Object object,
Object convertedObject)
Works for getPermission or getReadAccessPermission
|
protected Map<GroupIdentity,AccessController.AccessResult> |
_getPermissionByGroup(Set<String> profilesIds,
Object object,
Object convertedObject)
Works for getPermissionByGroup and getReadAccessPermissionByGroup
|
protected Map<UserIdentity,AccessController.AccessResult> |
_getPermissionByUser(Set<String> profilesIds,
Object object,
Object convertedObject)
Works for getPermissionByUser and getReadAccessPermissionByUser
|
protected AccessController.AccessResult |
_getPermissionForAnonymous(Set<String> profilesIds,
Object object,
Object convertedObject)
Works for getPermissionForAnonymous and getReadAccessPermissionForAnonymous
|
protected AccessController.AccessResult |
_getPermissionForAnyConnectedUser(Set<String> profilesIds,
Object object,
Object convertedObject)
Works for getPermissionForAnyConnectedUser and getReadAccessPermissionForAnyConnectedUser
|
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
|
_convertContext, _convertWorkspaceToRootRightContexts, _hasRightResultInFirstCache, _hasRightResultInSecondCache, _putInFirstCache, _putInSecondCache, getPermission, getPermissionByGroup, getPermissionByUser, getPermissionForAnonymous, getPermissionForAnyConnectedUser, getReadAccessPermission, getReadAccessPermissionByGroup, getReadAccessPermissionByUser, getReadAccessPermissionForAnonymous, getReadAccessPermissionForAnyConnectedUser, hasAnonymousAnyPermissionOnWorkspace, hasAnonymousAnyReadAccessPermissionOnWorkspace, hasAnyConnectedUserAnyPermissionOnWorkspace, hasAnyConnectedUserAnyReadAccessPermissionOnWorkspace, hasUserAnyPermissionOnWorkspace, hasUserAnyReadAccessPermissionOnWorkspace, service
getLogger, setLogger
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isSupported
public AbstractHierarchicalAccessController()
protected abstract Set<T> _getParents(T object)
object
- The objectpublic Map<String,AccessController.AccessResult> getPermissionByRight(UserIdentity user, Set<GroupIdentity> userGroups, Object object)
AccessController
getPermissionByRight
in interface AccessController
getPermissionByRight
in class AbstractProfileStorageBasedAccessController
user
- The user. Cannot be null.userGroups
- The groups the user belongs toobject
- The context object to check the accessprotected AccessController.AccessResult _getPermission(UserIdentity user, Set<GroupIdentity> userGroups, Set<String> profilesIds, Object object, Object convertedObject)
AbstractProfileStorageBasedAccessController
_getPermission
in class AbstractProfileStorageBasedAccessController
user
- The useuserGroups
- The groupsprofilesIds
- The profilesobject
- The original contextconvertedObject
- The converted contextprotected AccessController.AccessResult _getPermissionForAnonymous(Set<String> profilesIds, Object object, Object convertedObject)
AbstractProfileStorageBasedAccessController
_getPermissionForAnonymous
in class AbstractProfileStorageBasedAccessController
profilesIds
- The profiles idsobject
- The contextconvertedObject
- The converted contextprotected AccessController.AccessResult _getPermissionForAnyConnectedUser(Set<String> profilesIds, Object object, Object convertedObject)
AbstractProfileStorageBasedAccessController
_getPermissionForAnyConnectedUser
in class AbstractProfileStorageBasedAccessController
profilesIds
- The profiles idsobject
- The contextconvertedObject
- The converted contextprotected Map<UserIdentity,AccessController.AccessResult> _getPermissionByUser(Set<String> profilesIds, Object object, Object convertedObject)
AbstractProfileStorageBasedAccessController
_getPermissionByUser
in class AbstractProfileStorageBasedAccessController
profilesIds
- The profiles idsobject
- The contextconvertedObject
- The converted contextprotected Map<GroupIdentity,AccessController.AccessResult> _getPermissionByGroup(Set<String> profilesIds, Object object, Object convertedObject)
AbstractProfileStorageBasedAccessController
_getPermissionByGroup
in class AbstractProfileStorageBasedAccessController
profilesIds
- The profiles idsobject
- The contextconvertedObject
- The converted context