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

这两种机制是通过组与特定的用户实现:一个用户属于任何个数的组,和安全机制相关联的组,从而将安全机制应用与用户。

访问控制

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

每个访问控制都有一个授予权限的模型、授予的权限和可选的组。

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

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

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

记录规则

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

记录规则有:

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

全局规则和组规则(仅限于特定组的规则与应用于所有用户的组)完全不同:

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

这意味着,第一组规则限制访问,但任何进一步的组规则可扩展它,全局规则只能限制访问(或没有效果的时候)

警告

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

虽然应用了访问规则

字段访问

版本7中的新内容。

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

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

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

工作流转换规则

工作流转换可以被限制到特定的组中。组外的用户不能触发转换。

ps:有翻译不当之处,欢迎留言指正。

原文地址:https://www.odoo.com/documentation/10.0/reference/security.html

odoo10参考系列--Odoo中的安全机制相关推荐

  1. Odoo10参考系列--Odoo指导方针

    本文介绍了新版Odoo编码指南.那些旨在提高代码的质量 (例如更好的可读性)和Odoo应用程序.实际上,适当的代码简化了维护.调试,降低了复杂性,提高了可靠性. 这些指导原则应适用于每一个新的模块和新 ...

  2. Odoo10参考系列--QWeb报表

    报表是写在HTML / QWeb中,像Odoo中的所有普通视图.你可以使用普通QWeb 流程控制工具.PDF的渲染是通过wkhtmltopdf执行的. 如果要在某个模型上创建报表,则需要定义该报表和它 ...

  3. odoo10参考系列--ORM API 二(新旧API兼容性、模型参考和方法修饰符)

    新API与旧API的兼容性 现在的Odoo是从就的(不规律的)API过渡来的,它可能需要从一个手动桥接到另一个手动桥接: RPC层(XML-RPC和RPC)是在旧的API的形式表达,表达的纯粹的方法在 ...

  4. Odoo10参考系列--工作流

    在Odoo中,一个工作流是一个和一个去管理与模型记录关联的一套"要做的事"的技术产品.工作流提供了一种更高级别的方法来组织任务,以便在记录中执行. 更具体地说,工作流是一个有向图, ...

  5. odoo10参考系列--模块清单文件

    清单文件用于声明一个Python包为Odoo模块和指定模块的元数据.它是一个名为__manifest__.py的文件,其中包含了一个python字典,字典中每个键指明了模块元数据. {'name': ...

  6. odoo10参考系列--ORM API 一(记录集、环境、通用方法和创建模型)

    记录集 版本8.0中新东西: 这个在Odoo8.0中新加的API的页面文档应该是不断向前发展的主要开发API.同时它还提供了关于移植或桥接版本7和更早版本的"旧API"的信息,但没 ...

  7. Odoo10参考系列--混合而有用的类

    Odoo实现了一些有用的类和混合,使您可以轻松地在对象上添加常用的行为.本指南将详细介绍其中的大部分内容,包括示例和用例. 消息特征 消息集成 基本消息系统 将消息功能集成到模型中非常容易.简单地继承 ...

  8. odoo10参考系列--网络控制器(Web Controllers)

    路由 odoo.http.route(route=None, **kw) 标记装饰方法作为请求处理程序的装饰程序.该方法必须是Controller的一个子类的一部分. 参数 route -- 字符串或 ...

  9. odoo10参考系列--QWeb

    QWeb是被Odoo[2]使用的主要的模版引擎.它是一个XML模板引擎[1],主要用于生成HTML片段和页面. 模板指令指定的XML属性的前缀 t-,例如t-if 为条件,与元素和其他属性被直接渲染. ...

最新文章

  1. 别再乱打日志了,这样才是定位 bug 打日志的方式!
  2. PHP里switch用法举例,PHP Switch语句的功能实例
  3. oracle执行减法,oracle时间的加法和减法
  4. c语言程序 实现简单计算器功能,C语言实现简单计算器小项目
  5. Mac 录制视频,并转为GIF格式
  6. Model share between master view and detail view breaks - didn't find root cause
  7. 数据结构——线性表的C语言实现
  8. JENKINS+maven+ssh+shell 完成自动化部署工具的开发
  9. ASP.NET MVC数据标记验证
  10. URL重写步骤 【有用】
  11. python 常用字符串 列表元祖字典都 自带的函数方法
  12. 荔枝派zero编译rtl8723bs驱动并连接WiFi
  13. 《沸腾十五年》 豆瓣评分[8.20]覆雨翻云的中国网事; 荡气回肠的产业传奇;虚拟世界的真实讲述;万象网络的还原走笔。...
  14. 请大家帮忙看下这个shader的问题:
  15. 浏览器y轴滚动条占据宽度,导致出现x轴滚动条的解决方案
  16. 百分点认知智能实验室:如何打造工业级的机器翻译
  17. win10修改账户权限
  18. cookie详解,即什么是cookie。
  19. eclipse导入import git项目
  20. iphone相册储存空间已满_iPhone手机提示icloud储存空间已满怎么办?icloud储存空间已满怎么解决?...

热门文章

  1. matlab打开矩阵表,如何将Excel数据导入MATLAB中?:EXCLE中通过矩阵表输出选项
  2. 使用android开发移动学习平台_移动学习平台有几种开发方法,你造吗?
  3. 设计师交流社区|积累开拓眼界必备网站
  4. 收集灵感必备|文字这样组合排版那才叫设计
  5. python输入正整数n、求n以内能被17整除的最大正整数_求100之内自然数中最大的能被17整除的数资料...
  6. Windows下打开Url 代码封装 C++
  7. 推荐一个看ELF文件的软件 010Editor
  8. __attribute__((section(name))) study again
  9. cygwin不支持__malloc_hook
  10. GTK+ tutorial