首页 > 其他分享 >odoo中的权限和规则

odoo中的权限和规则

时间:2023-11-03 13:33:26浏览次数:27  
标签:XML CSV odoo perm 规则 model 权限 id

在Odoo中,安全性是通过一系列的权限规则来管理的,这些权限和规则定义了用户可以看到什么数据和可以进行哪些操作。
这些安全规则主要是通过XML和CSV文件来配置的。

 

XML文件

XML文件通常用于定义记录规则(Record Rules)和访问控制列表(Access Control Lists, ACLs)。

  1. 记录规则(Record Rules):

    • 记录规则限制了用户可以读取、创建、写入或删除哪些记录。
    • 每个记录规则都有一个域,它是一个表达式,定义了哪些记录符合该规则。
    • 记录规则可以是全局的,也可以针对特定的用户组。
    • 记录规则在XML中通常通过<record>标签定义,其model属性设置为ir.rule
  2. 访问控制列表(ACLs):

    • ACLs定义了用户组对于模型(如客户、销售订单等)的操作权限,包括读取、创建、写入和删除。
    • 权限通常分为四种:读(read)、写(write)、创建(create)和删除(unlink)。
    • ACLs在XML中通常通过<record>标签定义,其model属性设置为ir.model.access

XML文件中的安全性定义示例:

  

<!-- 定义一个用户组 -->
<record id="group_custom_user" model="res.groups">
    <field name="name">Custom User</field>
</record>

<!-- 给用户组定义访问权限 -->
<record id="access_custom_model_user" model="ir.model.access">
    <field name="name">custom.model.access.user</field>
    <field name="model_id" ref="model_custom_model"/>
    <field name="group_id" ref="group_custom_user"/>
    <field name="perm_read" eval="True"/>
    <field name="perm_write" eval="False"/>
    <field name="perm_create" eval="False"/>
    <field name="perm_unlink" eval="False"/>
</record>

<!-- 定义记录规则 -->
<record id="custom_model_rule" model="ir.rule">
    <field name="name">Custom Model Rule</field>
    <field name="model_id" ref="model_custom_model"/>
    <field name="domain_force">[('user_id', '=', user.id)]</field>
    <field name="groups" eval="[(4, ref('group_custom_user'))]"/>
</record>

 

 

CSV文件

CSV文件主要用于初始化和更新模型的访问权限。这些文件更简单,通常包含模型的名称、权限和用户组的映射。

CSV文件中的列通常包括:

  • id: 权限的唯一标识符。
  • name: 权限的名字,通常与模型名称相关。
  • model_id/id: 关联的模型的外部ID。
  • group_id/id: 关联的用户组的外部ID。
  • perm_read: 读权限(1为允许,0为不允许)。
  • perm_write: 写权限。
  • perm_create: 创建权限。
  • perm_unlink: 删除权限。

CSV文件中的安全性定义示例:

id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
access_custom_model_user,custom.model.access.user,model_custom_model,group_custom_user,1,0,0,0

在这个CSV文件示例中,model_custom_model对应于自定义模型的外部ID,group_custom_user对应于自定义用户组的外部ID。权限被设置为只读。

 

 

总结

在Odoo中,XML文件通常用于创建和维护复杂的安全规则,而CSV文件则用于初始化和更新访问权限。开发人员可以选择最适合项目需求的方式。通常,CSV文件在模块的数据文件夹中用于初始数据加载,而XML文件则用于视图、动作和安全规则的定义。在实际的开发过程中,这两种文件往往会同时

标签:XML,CSV,odoo,perm,规则,model,权限,id
From: https://www.cnblogs.com/lyt263/p/17807422.html

相关文章

  • Jenkins 用户权限管理
    目录使用Role-basedAuthorizationStrategy插件来管理Jenkins用户权限1.安装Role-basedAuthorizationStrategy插件2.开启权限全局安全配置3.创建角色4.创建用户5.给用户分配角色6.创建项目测试权限使用Role-basedAuthorizationStrategy插件来管理Jenkins用户权限1.安装......
  • openGauss学习笔记-112 openGauss 数据库管理-管理用户及权限-行级访问控制
    openGauss学习笔记-112openGauss数据库管理-管理用户及权限-行级访问控制行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。用户可以在数据表创建行访问控制(RowLevelSecurity)策略,该......
  • Unity-Android 权限相关问题
    1.生成AndroidManifestFile->buildSetting->playerSetting->Android->publishingSettings权限添加位置:<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="http://schemas.android.com/apk/res/android......
  • Python语法规则,变量与输出,字符集处理
    print方法1、默认输出内容后会自动换行2、输出内容后不换行,加上end=''3、查看源码:ctrl+鼠标左键点击方法注释作用:给开发测试人员看1、#:井号,注释一行代码,快捷方式ctrl+/2、“”“:三引号,注释多行代码代码的结束符换行如果一行代码需要分多行来写,怎么解决1、如果代码是包裹在括号里面......
  • uniapp微信小程序自定义隐私权限弹窗
    插件地址:https://ext.dcloud.net.cn/plugin?id=14576#detail 样式小改动<template><viewclass="xh-privacy"><!--默认主题--><view:style="'background:'+background+';'"class="the......
  • django搭建平台实战教程三:接口编写及权限校验(前后端分离)
    自定义权限校验注册增加group_id字段...@api_view(['POST'])defregister(request:Request):ifDUser.objects.filter(username=request.data["username"]).count()>0:returnResponse({"code":400,&qu......
  • Odoo—货运管理—主表获取明细表数据计算结果
    在开发货运管理模块的时候,用到了两张表:主表[waybill]和明细表[waybill.detail],主表存放运单主体信息,明细表存放运单货物信息,如下图所示。上图中红色方框标记的是明细表中行内的运费计算结果;蓝色圆圈标记的是主表中的总运费,是明细表中三条货品数据的运费总和。在odoo中是如何实现......
  • Odoo—货运管理—odoo时差问题
    第一次踩odoo时差的坑,才知道原来odoo在存储日期数据时,是以UTC0时区存放的,和北京时间相差8个小时。只是odoo本身能很好的处理日期数据的存储和展示,所以刚开始接触odoo,不容易发现这个问题。在做货运管理的时候,生成货运订单编号的格式是自己定义的,根据当日的运单数量自动往下递增,如......
  • 第四章文件权限的剩余内容(11月1日)
    SGID权限:在一个程序上添加SGID,用户在执行过程中会获得该程序用户组的权限(相当于加入了程序的临时用户组)Sticky权限:添加Sticky权限后,当用户对目录具有w,x权限,在该目录下建立的文件或目录,仅有自己与root才有权删除。添加“t”参数,用户只能删除自己的文件为了区分目录或文件是否......
  • Linux第四章文件权限 2023.10.24
    1、UGO设置文件属性与权限chown:修改文件属主,属性chgrp:修改文件属组chmod:修改文件权限 用法例如(1)chownqfedufile2;chownqfedu02.linuxfile2(2)chgrplinux02file2(3)  1、chmodu+xfile  2、chmodu=rwxfile  3、chmod721file2、基本权限ACL(1)使用get......