Class CmsAccessControlList
- All Implemented Interfaces:
Serializable
To each single resource, access control entries of type CmsAccessControlEntry
can be assigned.
An access control entry defines the permissions (both allowed and explicitly denied) of a user or group for this resource.
By calling the method getAccessControlList
the list is generated on the resource. It contains the result of
merging both access control entries defined immediately on the resource and inherited along the folder hierarchie in the
OpenCms virtual file system (controlled by flags in the entry).
To check the permissions of a user on a distinct resource, the method hasPermissions
in the driver manager
is called in each operation. This method acts as access guard and matches the required permissions for the operation
against the allowed and denied permissions defined for the user or groups of this user.
- Since:
- 6.0.0
- See Also:
-
Constructor Summary
ConstructorDescriptionConstructor to create an empty access control list for a given resource. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(CmsAccessControlEntry entry) Adds an access control entry to the access control list.clone()
Returns a clone of this Objects instance.Gets the principal IDs of users/groups which should have exclusive access to the content outside of its released/expired range.Returns the permission map of this access control list.Calculates the permissions of the given user and his groups from the access control list.getPermissions
(CmsUUID principalId) Returns the permission set of a principal as stored in the access control list.Calculates the permissions of the given user and his groups from the access control list.Returns the principals with specific permissions stored in this access control list.void
Sets the allowed permissions of a given access control entry as allowed permissions in the access control list.void
Sets the denied permissions of a given access control entry as denied permissions in the access control list.void
setExclusiveAccessPrincipals
(Set<CmsUUID> exclusiveAccessPrincipals) Sets the exclusive access principal IDs.
-
Constructor Details
-
CmsAccessControlList
public CmsAccessControlList()Constructor to create an empty access control list for a given resource.
-
-
Method Details
-
add
Adds an access control entry to the access control list.- Parameters:
entry
- the access control entry to add
-
clone
Returns a clone of this Objects instance. -
getExclusiveAccessPrincipals
Gets the principal IDs of users/groups which should have exclusive access to the content outside of its released/expired range.- Returns:
- the exclusive access principal IDs
-
getPermissionMap
Returns the permission map of this access control list.- Returns:
- permission map
-
getPermissions
public CmsPermissionSetCustom getPermissions(CmsUser user, List<CmsGroup> groups, List<CmsRole> roles) Calculates the permissions of the given user and his groups from the access control list.- Parameters:
user
- the usergroups
- the groups of this userroles
- the roles of this user- Returns:
- the summarized permission set of the user
-
getPermissions
Returns the permission set of a principal as stored in the access control list.- Parameters:
principalId
- the id of the principal (group or user)- Returns:
- the current permissions of this single principal
-
getPermissionString
Calculates the permissions of the given user and his groups from the access control list.The permissions are returned as permission string in the format {{+|-}{r|w|v|c|i}}*.
- Parameters:
user
- the usergroups
- the groups of this userroles
- the roles of this user- Returns:
- a string that displays the permissions
-
getPrincipals
Returns the principals with specific permissions stored in this access control list.- Returns:
- enumeration of principals (each group or user)
-
setAllowedPermissions
Sets the allowed permissions of a given access control entry as allowed permissions in the access control list.The denied permissions are left unchanged.
- Parameters:
entry
- the access control entry
-
setDeniedPermissions
Sets the denied permissions of a given access control entry as denied permissions in the access control list.The allowed permissions are left unchanged.
- Parameters:
entry
- the access control entry
-
setExclusiveAccessPrincipals
Sets the exclusive access principal IDs.- Parameters:
exclusiveAccessPrincipals
- the IDs of the exclusive access principals
-