以下内容仅适用于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. etcd简介及集群安装部署使用

    目录 1. 简介 2. Linux下载安装 3. 单机模式启动 4. 指定各集群成员的方式配置集群 5. 使用discovery service的方式配置集群 6. 集群模式下客户端命令行 7. et ...

  2. Tree Recovery UVA - 536

    Little Valentine liked playing with binary trees very much. Her favorite game was constructing rando ...

  3. Innodb中的快照读和当前读

    一.前言 上篇文章记录了对MVCC的相关理解,其中有提到快照读.其实在MVCC并发控制中,读操作可以分为两类:快照读(snapshot read)和当前读(current read)   二.什么是快 ...

  4. 判断请求是否属于Ajax请求

    我们有时候需要根据请求类型来判断返回视图名称还是JSON数据,这里记录一个判断Ajax的工具类方便日后好找 通过传入Request对象获取头信息,根据头信息判断是否属于Ajax请求 public cl ...

  5. Fiddler高级用法

    Fiddler高级用法 1. 简单用法 Fiddler作为一个基于http协议的抓包工具,一直在业界有广泛使用.很多测试或者前端在使用Fiddler时,仅仅用于查看前端和服务端之间的请求信息.包括我作 ...

  6. Java中常见的包

    目录 JDK自带的包 第三方包 JDK自带的包 JAVA提供了强大的应用程序接口,既JAVA类库.他包含大量已经设计好的工具类,帮助程序员进行字符串处理.绘图.数学计算和网络应用等方面的工作.下面简单 ...

  7. Windows PE导出表编程2(重组导出表函数地址)

    本次要做的尝试是通过修改导出表的函数地址,实现程序功能的更改,实现这个最大的限制就是堆栈平衡问题. 先写一个DLL和EXE为了测试. DLL代码如下: 这样的话有两个导出函数(我们假设是一个密码验证之 ...

  8. 这次我好像才真的明白了CSS Rem字体计算的原理

    背景 如何按照设计稿中标注的尺寸,直接写页面的样式,不再需要px2rem这样的工具或者人工转换 ? 只要你明白了rem的计算原理,这个问题的答案超级简单. 根字体大小计算核心原理 设备的根字体大小 * ...

  9. Asp.NetCore Web应用程序中的请求管道和中间件

    你是否会迷惑当我们请求一个ASP.NetWeb应用程序以后,它是怎么处理这些请求的,后台是怎么工作的,今天就讲一下Asp.NetCore Web应用程序中的请求处理过程. 上一节,我们讲到,Start ...

  10. SQL Server强制使用特定索引 、并行度、锁

    SQL Server强制使用特定索引 .并行度 修改或删除数据前先备份,先备份,先备份(重要事情说三遍) 很多时候你或许为了测试.或许为了规避并发给你SQL带来的一些问题,常常需要强制指定目标sql选 ...