alfresco默认的权限许可模型参考

来源:互联网 发布:淘宝有吕官方旗舰店 编辑:程序博客网 时间:2024/05/17 09:02

基本的权限许可(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,锁的拥有者可以取消检出文档,覆盖文档需要获得这个锁。