public class CmsAccessControlList
extends java.lang.Object
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.
构造器和说明 |
---|
CmsAccessControlList()
Constructor to create an empty access control list for a given resource.
|
限定符和类型 | 方法和说明 |
---|---|
void |
add(CmsAccessControlEntry entry)
Adds an access control entry to the access control list.
|
java.lang.Object |
clone()
Returns a clone of this Objects instance.
|
java.util.Map<CmsUUID,CmsPermissionSetCustom> |
getPermissionMap()
Returns the permission map of this access control list.
|
CmsPermissionSetCustom |
getPermissions(CmsUser user,
java.util.List<CmsGroup> groups,
java.util.List<CmsRole> roles)
Calculates the permissions of the given user and his groups from the access control list.
|
CmsPermissionSetCustom |
getPermissions(CmsUUID principalId)
Returns the permission set of a principal as stored in the access control list.
|
java.lang.String |
getPermissionString(CmsUser user,
java.util.List<CmsGroup> groups,
java.util.List<CmsRole> roles)
Calculates the permissions of the given user and his groups from the access control list.
|
java.util.List<CmsUUID> |
getPrincipals()
Returns the principals with specific permissions stored in this access control list.
|
void |
setAllowedPermissions(CmsAccessControlEntry entry)
Sets the allowed permissions of a given access control entry as allowed permissions in the access control list.
|
void |
setDeniedPermissions(CmsAccessControlEntry entry)
Sets the denied permissions of a given access control entry as denied permissions in the access control list.
|
public CmsAccessControlList()
public void add(CmsAccessControlEntry entry)
entry
- the access control entry to addpublic java.lang.Object clone()
clone
在类中 java.lang.Object
public java.util.Map<CmsUUID,CmsPermissionSetCustom> getPermissionMap()
public CmsPermissionSetCustom getPermissions(CmsUser user, java.util.List<CmsGroup> groups, java.util.List<CmsRole> roles)
user
- the usergroups
- the groups of this userroles
- the roles of this userpublic CmsPermissionSetCustom getPermissions(CmsUUID principalId)
principalId
- the id of the principal (group or user)public java.lang.String getPermissionString(CmsUser user, java.util.List<CmsGroup> groups, java.util.List<CmsRole> roles)
The permissions are returned as permission string in the format {{+|-}{r|w|v|c|i}}*.
user
- the usergroups
- the groups of this userroles
- the roles of this userpublic java.util.List<CmsUUID> getPrincipals()
public void setAllowedPermissions(CmsAccessControlEntry entry)
The denied permissions are left unchanged.
entry
- the access control entrypublic void setDeniedPermissions(CmsAccessControlEntry entry)
The allowed permissions are left unchanged.
entry
- the access control entry