博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
odoo10参考系列--Odoo中的安全机制
阅读量:3530 次
发布时间:2019-05-20

本文共 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/

你可能感兴趣的文章
JAVA 继承
查看>>
电脑键盘突然不能打字,很多键变成快捷键了
查看>>
Hbase表映射Hive表三种方法
查看>>
Java中获取List长度
查看>>
this关键字有什么用处?怎么用? 1.访问成员变量,区分成员变量和局部变量。 2.访问成员方法。 3.访问构造方法。 4.返回对当前对象的引用 5.将对当前对象的引用作为参数传递给其他方法。
查看>>
自学sql
查看>>
基于Springboot的社区开发项目
查看>>
nowcoder 左神算法1
查看>>
code刷题
查看>>
左神进阶2窗口
查看>>
dubbo入门
查看>>
http 错误类型
查看>>
一篇文章解决HTTP 请求头!
查看>>
学习日记02
查看>>
学习日记03
查看>>
学习日记04
查看>>
学习日记08(元组、字典、集合)
查看>>
js自定义数据顺序进行升序或者降序排序
查看>>
【零】简单数仓框架优化、配置及基准测试
查看>>
【零】Linux中MySQL安装
查看>>