alfresco默认的权限许可模型参考
teamlet
2010-10-25
基本的权限许可(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,锁的拥有者可以取消检出文档,覆盖文档需要获得这个锁。 |