基本的权限许可(permission)
参照从RBAC中获取的经验,可以把那些以 _ 开始的认为是权限许可,其他的认为是角色。 这样,其他对象比如 people/groups和动态的对象就可以使用两个(权限许可和角色)中的任意一个。
_ReadProperties
读取属性:限制读取一个节点的属性。对节点内容访问的控制与属性控制是分开的。所有的属性有相同的限制。
_ReadChildren
读取子节点:限制对子节点的读取访问. 这些权限许可可以考虑设置在独立子节点。如果这个权限许可没有被授予,在查看时你就不能看到任何子节点。
在搜索的时候你可以找到一些子节点。查看其中一个节点的时候,是否能够看见它的父节点不是必须的。这个约束可以被加到配置中。
_WriteProperties
写入属性:限制节点所有属性的写入。内容的访问控制与属性控制是分开的。 所有的属性的访问限制相同。
_ReadContent
读取内容:限制节点内容的读取访问。
_WriteContent
写入内容:限制节点内容的创建和修改。
_ExecuteContent
执行内容:限制对执行内容的访问。
_DeleteNode
删除节点:限制删除节点。目前在删除节点的时候没有检查子节点的权限.可以删除节点中所有子节点。可以通过修改配置文件实现对检查的支持,检查子节点能否被删除需要耗费较多资源和时间。
_DeleteChildren
删除子节点:限制删除节点的子节点。同样,也不能把指向节点的连接移动到其他节点。
_CreateChildren
创建子节点:限制创建新的子节点。
_LinkChildren
关联子节点:限制创建非父子关系的关联到其他节点。
_DeleteAssociations
删除关联:限制删除非子节点关系的关联。
_ReadAssociations
读取关联:限制读取非节点关系的关联。
_CreateAssociations
创建关联:限制创建非节点关系的关联。
_ReadPermissions
读取权限许可:限制读取权限许可。
_ChangePermissions
修改权限许可:限制写入权限许可。
权限许可的简单组合
这是一些简单的权限许可组合,能够被用来实现更复杂的组合。 这些简单的权限许可通常被用来控制对公共服务方法的访问。
FullControl
一个权限许可组,包含所有的权限许可的允许。
ReadProperties
读取属性权限许可,来自基本权限许可 _ReadProperties.
ReadChildren
读取子节点权限许可,来自基本权限许可 _ReadChildren.
WriteProperties
写入属性权限许可,来自基本权限许可 _WriteProperties.
ReadContent
读取内容权限许可,来自基本权限许可 _ReadContent.
WriteContent
写入内容权限许可,来自基本权限许可 _WriteContent.
ExecuteContent
执行内容权限许可,来自基本权限许可 _ExecuteContent.
DeleteNode
删除节点权限许可,来自基本权限许可 _DeleteNode.
DeleteChildren
删除子节点权限许可,来自基本权限许可 _DeleteChildren.
CreateChildren
创建子节点权限许可,来自基本权限许可 _CreateChildren.
LinkChildren
连接子节点权限许可,来自基本权限许可 _LinkChildren.
DeleteAssociations
删除关联权限许可,来自基本权限许可 _DeleteAssociations.
ReadAssociations
读取关联权限许可,来自基本权限许可 _ReadAssociations.
CreateAssociations
创建关联权限许可,来自基本权限许可 _CreateAssociations.
ReadPermissions
读取节点的权限的权限许可,来自基本权限许可 _ReadPermissions.
ChangePermissions
修改节点权限的权限许可,来自基本权限许可 _ChangePermissions.
权限许可CRUD操作的复杂的组合
这些组合是针对一个节点 CRUD 操作设置的权限许可
Read
读取,包括读取属性(ReadProperties),读取子节点(ReadChildren)和读取内容(ReadContent).
Write
写入(对应CRUD中的更新),包括写入属性(WriteProperties)和写入内容(WriteContent).
Delete
删除,包括删除节点(DeleteNode)和删除子节点(DeleteChildren).
AddChildren (Create in CRUD)
增加子节点(对应CRUD中的创建),包括创建子节点(CreateChildren)和连接子节点(LinkChildren).
Execute
执行,只包括执行内容 ExecuteContent.
面向业务对象的复杂权限许可分组
Administrator
管理员,拥有所有的权限许可
Coordinator
协作者,包括自定的所有权限和权限组。
Collaborator
合作者,包含编辑者和贡献者权限组。
Contributor
贡献者,包括消费者权限组以及增加子节点和版本的检出权限许可。
Editor
编辑者,包括消费者权限组以及写入和版本的检出权限许可。
Consumer
消费者,包括所有的读取权限许可。
RecordAdministrator
记录管理员,包括读入属性、读取子节点、写入属性、读取内容、删除子节点、创建子节点、连接子节点、删除关联和创建关联。
拥有者相关的权限许可
基本权限许可
_SetOwner
限制设置一个节点的许可。这个许可还需要 _WriteProperties,而且_WriteProperties不是必然包含的,需要自己去设置。
简单的组合
SetOwner
包含_SetOwner
复杂的组合
TakeOwnership
包含 SetOwner.
锁定和版本相关的权限许可
基本权限许可
_Lock
锁,限制一个节点锁的设置。
_Unlock
解锁,限制一个节点解锁的设置。
简单的权限许可组合
Lock
锁,包括_Lock
Unlock
解锁,包括 _Unlock
复杂的权限许可组合
CheckOut
检出,包括Lock.
CheckIn
检入,包括Unlock.
CancelCheckOut
取消检出,包括 Unlock.
全局权限许可
这些权限许可应用到所有节点上,无论它们是否在repository中。
FullControl
授权给ROLE_ADMINISTRATOR,该组用户可以做任何事情。
FullControl
授予ROLE_OWNER,这个owner有所有的权限。贡献者与内容交互,默认的情况下,他们需要创建内容。其他的权限实际来自他们拥有的他们创建的节点。owner是有ownable aspect定义的,或者这个aspect不体现节点的创建者.
Unlock
包括ROLE_LOCK_OWNER,锁的拥有者可以释放这个锁
CheckIn
包括ROLE_LOCK_OWNER,锁的拥有者可以检入文档,覆盖文档需要获得这个锁。
CancelCheckOut
包括ROLE_LOCK_OWNER,锁的拥有者可以取消检出文档,覆盖文档需要获得这个锁。
分享到:
评论