|
SAP NetWeaver '04 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Interface describing an access control list security sub manager, short ACL security sub manager. Each resource may have an ACL with many ACL entries. An entry describes for one principal (may be a user, group or whatever is considered an entity) a permission this principal has on the given resource. The ACL itself is just an envelope for many ACL entries.
An ACL entry may define a permission this principal has on the given resource, but it may also define a permission a principal is denied to have (so called negative ACL entry). ACLs are propagated down from above the resource hierarchy on the fly, i.e. they are not really set on the descendants but derived when accessed. All descendants not having an own ACL inherit one from their next legator having one. Legators are ancestors responsible for the security permissions of their descendants. ACLs and ACL entries are factored by this security sub manager and thereby assigned to a resource handle (exactly one ACL per resource handle and null to more ACL entries per ACL). Each resource handle has to be of a certain object type known by the ACL security sub manager and each object type has special supported permissions. Only supported permissions for a given resource handle can be set, others not. This helps identifying, e.g. in GUI, which permissions are allowed to be set and worked on.
| Method Summary | |
void |
addSupportedPermission(IObjectType objectType,
IAclPermission permission)
Register permission as supported permission for an object type. |
void |
assignAcl(IResourceHandle resourceHandle,
IAcl acl)
Assign an existent ACL, i.e. copy and assign it to a resource handle when the resource handle has no ACL and the current user in the resource context is an owner of the source ACL. |
IAcl |
createAcl(IResourceHandle resourceHandle)
Create a new ACL for a resource handle when the resource handle has no ACL and the current user in the resource context is an owner of the inherited ACL. |
IAclEntry |
createAclEntry(com.sap.netweaver.bc.rf.mi.security.acl.IPrincipal principal,
IAclPermission permission,
boolean negative,
boolean readonly,
int sortIndex)
Create a new ACL entry to grant or deny a permission to a principal. |
IAclPermission |
createPermission(java.lang.String name)
Register permission with the given name generally for this ACL security sub manager. |
IAcl |
getAcl(IResourceHandle resourceHandle)
Get ACL of a given resource handle. |
IAcl |
getInheritedAcl(IResourceHandle resourceHandle)
Get ACL of a given resource handle or an inherited ACL if none is defined directly for the given resource handle. |
IObjectType |
getObjectType(IResourceHandle resourceHandle)
Get object type this ACL security sub manager interprets the given resource handle. |
IAclPermission |
getPermission(java.lang.String name)
Identify and get permission with the given name generally known to this ACL security sub manager. |
java.util.List |
getSupportedObjectTypes()
Get list of object types supported by this ACL security sub manager. |
java.util.List |
getSupportedPermissions(IResourceHandle resourceHandle)
Get list of permissions which are supported by this ACL security sub manager for the given resource handle, i.e. outcome depends on the object type of the given resource handle, e.g. depends whether the resource is a collection or not. |
boolean |
isPermissionUsedInAcl(IAclPermission permission)
Check whether or not a permission is used in an ACL. |
boolean |
isReadOnly()
Check whether or not this ACL security sub manager is read only and no creation or modification operations of ACLs are allowed. |
void |
removeAcl(IAcl acl)
Remove the given ACL from its resource. |
void |
removeAcl(IResourceHandle resourceHandle)
Remove the ACL from the given resource. |
void |
removePermission(IAclPermission permission)
Unregister permission with the given name generally from this ACL security sub manager. |
void |
removeSupportedPermission(IObjectType objectType,
IAclPermission permission)
Unregister permission as no longer supported permission from an object type. |
boolean |
supportsNegativeAclEntries()
Check whether or not negative ACL entries are supported by this ACL security sub manager. |
| Methods inherited from interface com.sap.netweaver.bc.rf.mi.security.ISecurityManager |
isAllowed, isAllowed, isAllowed, isAllowed |
| Method Detail |
public IAcl getAcl(IResourceHandle resourceHandle)
throws AclPersistenceException,
ResourceException
resourceHandle - resource handleAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredResourceException - when the resource handle was invalid
public IAcl getInheritedAcl(IResourceHandle resourceHandle)
throws AclPersistenceException,
ResourceException
resourceHandle - resource handleAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredResourceException - when the resource handle was invalid
public IAclEntry createAclEntry(com.sap.netweaver.bc.rf.mi.security.acl.IPrincipal principal,
IAclPermission permission,
boolean negative,
boolean readonly,
int sortIndex)
throws AclPersistenceException,
java.lang.UnsupportedOperationException
principal - principalpermission - permissionnegative - true if the entry denies a permission, false if it grants
onereadonly - true if the entry is read only, false otherwisesortIndex - position of the ACL entry in the ACL (important only with
denials)AclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredjava.lang.UnsupportedOperationException - when a negative ACL entry is
requested but not supported
public IAcl createAcl(IResourceHandle resourceHandle)
throws AclPersistenceException,
AclNotAuthorizedException,
AclExistsException,
ResourceException
resourceHandle - resource handleAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredAclExistsException - when an ACL already exists for the resource
handleResourceException - when the resource handle was invalidAclNotAuthorizedException - Exception raised in failure situation
public void assignAcl(IResourceHandle resourceHandle,
IAcl acl)
throws AclPersistenceException,
AclNotAuthorizedException,
AclExistsException,
ResourceException
resourceHandle - resource handleacl - ACLAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredAclExistsException - when an ACL already exists for the resource
handleResourceException - when the resource handle was invalidAclNotAuthorizedException - Exception raised in failure situation
public void removeAcl(IResourceHandle resourceHandle)
throws AclPersistenceException,
AclNotAuthorizedException,
ResourceException
resourceHandle - resource handleAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredResourceException - when the resource handle was invalidAclNotAuthorizedException - Exception raised in failure situation
public void removeAcl(IAcl acl)
throws AclPersistenceException,
AclNotAuthorizedException,
ResourceException
acl - ACLAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredResourceException - when the resource handle assigned to the ACL
was invalidAclNotAuthorizedException - Exception raised in failure situation
public IAclPermission getPermission(java.lang.String name)
throws AclPersistenceException
name - permission nameAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurred
public IAclPermission createPermission(java.lang.String name)
throws AclPersistenceException,
AclPermissionExistsException
name - permission nameAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredAclPermissionExistsException - Exception raised in failure
situation
public void removePermission(IAclPermission permission)
throws AclPersistenceException,
AclPredefinedPermissionException,
AclPermissionUsedException
permission - the permissionAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredAclPredefinedPermissionException - Exception raised in failure
situationAclPermissionUsedException - Exception raised in failure situation
public java.util.List getSupportedObjectTypes()
throws AclPersistenceException
IObjectTypesAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurred
public IObjectType getObjectType(IResourceHandle resourceHandle)
throws AclPersistenceException,
ResourceException
resourceHandle - resource handleIObjectTypeAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredResourceException - when the resource handle was invalid
public java.util.List getSupportedPermissions(IResourceHandle resourceHandle)
throws ResourceException
getSupportedPermissions in interface ISecurityManagerresourceHandle - resource handleIAclPermissionResourceException - when the resource handle was invalid
public void addSupportedPermission(IObjectType objectType,
IAclPermission permission)
throws AclPersistenceException,
AclPredefinedPermissionException
objectType - object typepermission - permissionAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredAclPredefinedPermissionException - Exception raised in failure
situation
public void removeSupportedPermission(IObjectType objectType,
IAclPermission permission)
throws AclPersistenceException,
AclPredefinedPermissionException,
AclPermissionUsedException
objectType - object typepermission - permissionAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredAclPredefinedPermissionException - Exception raised in failure
situationAclPermissionUsedException - Exception raised in failure situation
public boolean isPermissionUsedInAcl(IAclPermission permission)
throws AclPersistenceException
permission - permissionAclPersistenceException - when a problem with the storage where
the ACLs are persisted occurredpublic boolean supportsNegativeAclEntries()
public boolean isReadOnly()
throws AclPersistenceException
AclPersistenceException - when a problem with the storage where
the ACLs are persisted occurred
|
SAP NetWeaver '04 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||