odoo12 Security翻译

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41317565/article/details/86639968

odoo12 Security翻译


除了使用自定义代码手动管理访问外,Odoo还提供了两种主要的数据驱动机制来管理或限制对数据的访问。

这两种机制都通过组链接到特定用户:用户属于任意数量的组,安全机制与组相关联,从而将安全机制应用于用户。

访问控制

由ir.model.access记录管理,定义对整个模型的访问。

每个访问控制都有一个模型,它授予权限,授予权限以及可选的组。

访问控制是附加的,对于给定的模型,用户可以访问授予其任何组的所有权限:如果用户属于允许写入的一个组而另一个允许删除的组,则它们都可以写入和删除。

如果未指定组,则访问控制适用于所有用户,否则仅适用于给定组的成员。

可用权限是creation(perm_create),search and reading(perm_read),更新现有记录(perm_write)和删除现有记录(perm_unlink)

记录规则

记录规则是记录必须满足的条件,允许操作(创建,读取,更新或删除)。在应用访问控制之后,它将逐个记录地应用。

记录规则有:

适用的模型
它应用的一组权限(例如,如果perm_read设置,则仅在读取记录时检查规则)
应用规则的一组用户组,如果未指定组,则规则为全局
一个域用来检查一个给定的记录是否符合规则(和访问)或没有(和无法访问)。在上下文中使用两个变量评估域:user是当前用户的记录,time是时间模块
全局规则和组规则(限于特定组的规则与适用于所有用户的组的规则)使用方式完全不同:

全局规则是减法的,它们必须匹配才能访问记录
组规则是附加的,如果它们中的任何一个匹配(并且所有全局规则都匹配),则可以访问该记录
这意味着第一个组规则限制访问,但任何进一步的 组规则都会扩展它,而全局规则只能限制访问(或不起作用)。

警告
记录规则不适用于管理员用户

字段访问

7.0版中的新功能。

ORM Field可以具有groups提供组列表的属性(作为逗号分隔的外部标识符串 )。

如果当前用户不在列出的某个组中,则他将无法访问该字段:

受限制的字段会自动从请求的视图中删除
受限制的字段将从fields_get() 响应中删除
尝试(显式地)读取或写入受限制的字段会导致访问错误

猜你喜欢

转载自blog.csdn.net/weixin_41317565/article/details/86639968
今日推荐