odoo官方文档第七章 Security in Odoo(odoo的权限)

Security in Odoo

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

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

Access Control

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

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

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

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

可用权限包括创建(perm_create),搜索和读取(perm_read),更新现有记录(perm_write)和删除现有记录(perm_unlink

Record Rules

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

记录规则有:

  • 适用的模型
  • 它应用的一组权限(例如,如果设置了perm_read,则只会在读取记录时检查规则)
  • 应用规则的一组用户组,如果未指定组,则规则为全局
  • 用于检查给定记录是否与规则匹配(且可访问)或不匹配(且不可访问)的域。 在上下文中使用两个变量评估域:user是当前用户的记录,time是时间模块

全局规则和组规则(限于特定组的规则与适用于所有用户的组的规则)使用方式完全不同:

  • 全局规则是减法的,它们必须匹配才能访问记录
  • 组规则是相加的,如果它们中的任何一个匹配(并且所有全局规则匹配),则可以访问该记录

这意味着第一个组规则限制访问,但任何进一步的组规则都会扩展它,而全局规则只能限制访问(或不起作用)。

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

Field Access

7.0版中的新功能。

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

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

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

转载于:https://www.cnblogs.com/myt2000/p/9669190.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值