以下内容仅适用于odoo的客户,不适用于开发人员。

下文介绍中涉及的概念及UI均是在odoo14社区版中进行。

一、 odoo中的对象

菜单、视图、访问权限(对应 模型)、记录规则(对应 模型记录)

二、 权限控制

总的来说,odoo中的权限控制颗粒度还是非常细的。最小可以到模型中的某个具体的字段,以及在odoo系统中的每一条记录。

2.1 实现原理

以上提到的所有的对象,都是以权限组为最小单位进行控制的。有点类似于库存中商品与变体的感觉。

2.2 UI方式实现权限控制

  1. 激活开发者模式



  2. 激活后,可在设置的二级菜单中看到多了群组、翻译和技术菜单。此处只讲权限,因此我们进入群组。

  3. 在群组页面下,已列出了目前系统中在用的群组。我们以【会计】模块下的【发票】群组为例进行讲解。

  4. 在发票群组的form视图下,我们可以配置属于该群组的用户、群组继承关系、菜单、视图、访问权限、记录规则。

下面我们针对以上提到的每一类对象进行详细说明

2.2.1 用户

直接将用户配置到该群组,同一用户可属于多个群组,因此即可具备多个群组的权限。

多个群组之间是或的关系,即权限是累加的。因此,若用户需创建一个新的权限组,那么可以全部重新配置对象权限或者可以查找最接近目标的权限组进行集成,然后再添加需要的权限即可。

2.2.2 继承

该群组继承自另一个群组,且在该群组添加用户后,该用户也将同步属于继承的群组。

2.2.3 菜单

菜单是指该权限组允许访问的菜单。

用户可直接在UI层面增删改。但不建议,存在丢失风险。

2.2.4 视图

用户通过odoo系统,在后台中看到所有的页面均是以视图的形式存在,视图在服务器中的存在形式是XML文件,并以字符串的形式存储在数据库中。

用户可直接在UI层面增删改。但不建议,存在丢失风险。

2.2.5 访问权限

访问权限针对的对象是odoo中的数据模型,涉及的权限为其实就是数据库中的CURD(创建、写、读、删除)。

用户可直接修改该群组对于某一模型操作的权限控制,同样也可以针对模型进行新增、删除。但不建议,存在丢失风险。

2.2.6 记录规则

记录规则针对的是已存储在系统中的具体记录信息。比如,在数据库层面,销售订单是存储在同一个表结构中的。但在多公司的模式下,我们有时并不希望某些员工看到其他公司的销售情况。因此,就可以通过限制销售订单的访问记录实现。下图中的[(1,'=',1)]代表是具备针对该模型的全部访问权限。

其中记录规则还可以限制记录是在何种操作方式下生效,比如限制用户只能修改自己创建的销售单等。

以上内容,用户同样可直接在UI层面增删改。但不建议,存在丢失风险。

2.2.7 模型字段的控制

我们知道,在odoo中,所有的数据记录都是依赖于模型存在的,模型对应的又是数据库中的表。模型的组成中包括字段、类型等基本信息。分别对应数据库表中的列及列类型。在代码层面,我们可以实现针对特定模型某个字段的权限控制。比如,我们在销售单中新建利润字段,该字段可根据实际的成本价及售价自动生成。便于管理层直观的了解此次销售的基本情况。但是,我们并不想普通的员工了解到这些信息。那么,我们就可以将该字段分配到特定的群组。

以上内容,用户同样可直接在UI层面实现。但不建议,存在丢失风险。

  1. 配置页面在,一级菜单【设置】- 二级菜单【技术】- 三级菜单【模型】进入特定模型的列表视图。

  2. 点击进入具体的某个模型的form视图,将列出该模型的基本情况。

  3. 若此处,我们想限制部分用户访问库存模型下的会计日期字段,可点击该字段。在访问权限中添加针对该字段的特定群组的访问控制。但不建议,存在丢失风险。

odoo中的针对用户侧的权限控制基本操作如上,我在每个操作中都添加了存在丢失风险字样。

原因如下:

  1. 我们在通过UI进行的任何调整,都是直接体现数据库中的。那么当我们在特殊情况下,需要对数据库进行重建时,以上修改的内容全部都会丢失。
  2. 在使用odoo的过程中,一定会存在根据业务的调整,进行二开的需求。那么通过页面上直接调整的方式,将直接导致在后续二开中碰到非常多奇怪的问题。

【odoo14】【用户侧】权限配置的更多相关文章

  1. JENKINS安装及新建用户,权限配置

    JENKINS安装及新建用户,权限配置 1. 下载安装 jenkins 官网地址https://jenkins.io/index.html 下载地址https://jenkins.io/downloa ...

  2. 【转】msyql使用-用户创建/权限配置

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  3. Linux下用户-组权限配置

    cat /etc/group cat /etc/ashadow 一.用户管理 1.添加用户 #useradd 用户名 useradd php100;用cat /etc/passwd查看 分析:php1 ...

  4. Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置

    文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作 ...

  5. vueThink权限配置

    vueThink中的 admin 默认是展示所有权限,其他的权限组用户就要自己去特定进行配置 http://vuedemo.cn:8181 这里我是默认本地配置了apache到  php\public ...

  6. Linux下SVN部署/安全及权限配置,实现web同步更新

    转自:http://www.cnblogs.com/me115/archive/2013/04/07/3002058.html 本文包含以下内容: SVN服务器安装 SVN权限管理 SVN使用SASL ...

  7. 【odoo14】【开发侧】权限配置

    欢迎转载,但需标注出处,谢谢! 说明: 本文面向开发人员,普通用户可参考[odoo14][用户侧]权限配置.文章结构与用户侧一致. 目录 一. odoo中的对象 二. 权限控制 2.1 实现原理 2. ...

  8. SVN的服务器端用户权限配置

    第一:用户的配置 SVN和apache整合的话,用户可以直接使用htpasswd dav_svn.passwd_file_address USERNAME来配置. 而账户的管理可以用dav_svn.a ...

  9. Jenkins进阶系列之——14配置Jenkins用户和权限

    今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置. 配置用户注册 在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global Securit ...

随机推荐

  1. nodejs安装cnpm、nrm、webpack

    nodejs更换npm默认安装路径 查看包路径 npm config ls NPM默认的管理包路径在C:/用户/[用户名]/AppData/Roming/npm/node_modules,为了方便对依 ...

  2. 【原创】【基础】一文搞懂严蔚敏数据结构SqList &L和SqList L、ElemType &e和ElemType e

    旁白 最近小渔夫在看严蔚敏.李冬梅<数据结构 c语言版>(第2版),学到第二章顺序表的实现时,看到函数参数一会是SqList &L.一会又是SqList L.一会ElemType ...

  3. nginx+nginx-upsync-module实现配置动态更新

    模块微博开源:https://github.com/weibocom/nginx-upsync-module#upsync 实现方案: nginx+consul nginx+etcd Installa ...

  4. Hive千亿级数据倾斜解决方案

    数据倾斜问题剖析 数据倾斜是分布式系统不可避免的问题,任何分布式系统都有几率发生数据倾斜,但有些小伙伴在平时工作中感知不是很明显,这里要注意本篇文章的标题-"千亿级数据",为什么说 ...

  5. hdu3460 字典树(打印机)

    题意:        给你一些名字,让你用一台打印机去打印这些名字,打印机只有三个操作 (1)打印的都是小写字母 (2)每次可以在当前字母的后面加一位,或删除一位. (3)打印当前串 问你最少多少步可 ...

  6. 编译libdvm.so: makefile,mm

    操作系统:Ubuntu14.4 android版本:4.4 设备:nexus 5 android系统的编译使用make来操作,那make呢是执行对应的makefile即android的编译系统看mak ...

  7. 分解uber依赖注入库dig-源码分析

    上一篇帖子 分解uber依赖注入库dig-使用篇 把如何使用dig进行代码示例说明,这篇帖子分析dig的源码,看他是如何实现依赖注入的. dig实现的中心思想:所有传入Provide的函数必须要有除e ...

  8. 【JavaScript】Leetcode每日一题-二叉搜索树的范围和

    [JavaScript]Leetcode每日一题-二叉搜索树的范围和 [题目描述] 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例1: 输入: ...

  9. 【python】Leetcode每日一题-存在重复元素3

    [python]Leetcode每日一题-存在重复元素3 [题目描述] 给你一个整数数组 nums 和两个整数 k 和 t .请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] ...

  10. 2019c#将PDF转图片

    两种方法: 第一种是用O2S.Components.PDFRender4NET 大家可以去网上查找无水印版本 但是有的时候带颜色的字就变空白了 不知道为什么 第二种是用PdfiumViewer 这种方 ...