`
guanhuaing
  • 浏览: 1192884 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

分享到:
评论
Global site tag (gtag.js) - Google Analytics