Odoo 13开发者文档:Odoo中的安全

Odoo Alan 5年前 (2019-12-21) 6435次浏览 0个评论 扫描二维码
本文来自Odoo 13官方文档之开发者文档系列文章

除手动通过自定义模式管理权限外,Odoo还提供了两种数据驱动的机制来管理或限制对数据的访问。

这两种机制都通过来与具体用户相关联:一个用户可属于多个组,安全机制与组进行关联,进而应用对用户应用安全机制。

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

每个访问控制有其授予权限的模型,授予的权限及可选用户组。

访问控制是附加的,对于一个给定模型用户拥有所有授予其所属组的权限,如用记属于一个允许写入的组及一个允许删除的组,那么用记就同时拥有写入和删除的权限。

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

可用的权限有创建(perm_create)、搜索和读取 (perm_read)、更新已有记录s (perm_write) 及删除已有记录(perm_unlink)

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

记录规则有:

  • 其所应用的模型
  • 一组它所应用的权限 (例如,如果设置了 perm_read,规则仅在读取记录时进行检查)
  • 一组规则所应用的用户组,如未指定组则是全局规则
  • 用于检查给定记录是否匹配规则(并可访问)或不匹配(不可访问)的作用域 。作用域通过两个上下文变量进行运行: user 是当前用户的记录,time 是 time模块

全局赍是和组规则 (限制给定用记的规则 vs.应用所有用户的组) 的使用差别很大:

  • 使用局规则做减法,它们必须匹配可访问的记录
  • 组规则做加法,如匹配其中任一规则 (且匹配所有全局规则)则记录可进行访问

这表示第一个组规则限制访问,但其它的组规则对进行扩展,而全局规则仅限制访问 (或不起任何作用)。

7.0版本中新增。

ORM 字段可带有 groups属性来提供一个组列表 (作为一个外部标识符的逗号分隔字符串)。

如当前用记不在所列举的组中,将无法访问该字段:

  • 受限的字段自动从所请求的视图中删除
  • 受限的字段从 fields_get() 响应中进行删除
  • 尝试 (显式地) 从受限的字段中读取或进行写入会导致访问错误
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址