本文共 968 字,大约阅读时间需要 3 分钟。
除了手动管理使用自定义代码访问,Odoo提供了两种主要的数据驱动机制来管理或限制对数据的访问。
这两种机制是通过组与特定的用户实现:一个用户属于任何个数的组,和安全机制相关联的组,从而将安全机制应用与用户。
通过 ir.model.access
记录管理,定义了对整个模型的访问。
每个访问控制都有一个授予权限的模型、授予的权限和可选的组。
访问控制是可加性的,对于给定的模型,用户可以访问授予其任何组的所有权限: 如果用户属于一个允许写和另一个允许删除的组,它们既可以写也可以删除。
如果未指定任何组,则访问控制适用于所有用户,否则只适用于给定组的成员。
可用的权限创建(perm_create),搜索和阅读(perm_read),更新现有记录(perm_write)和删除现有记录(perm_unlink)
记录规则,记录必须满足被允许的操作条件(创建、读取、更新或删除)。它是在已经应用的访问控制之后按记录应用的
记录规则有:
perm_read
设置了值,只有在阅读记录时才会检查规则)user
是当前用户的记录并且time
是时间模块全局规则和组规则(仅限于特定组的规则与应用于所有用户的组)完全不同:
这意味着,第一组规则限制访问,但任何进一步的组规则可扩展它,全局规则只能限制访问(或没有效果的时候)
警告
记录规则不适用于管理员用户
虽然应用了访问规则
版本7中的新内容。
一个ORM 可以有一个提供组列表(作为逗号分隔的外部标识符字符串)的groups
属性。
如果当前用户不在所列出的组中,则他将无法访问该字段:
工作流转换可以被限制到特定的组中。组外的用户不能触发转换。
ps:有翻译不当之处,欢迎留言指正。
原文地址:
转载地址:http://nrwhj.baihongyu.com/