当前位置: 首页 > news >正文

Odoo 18 安全组与访问权限管理指南

Odoo 18 安全组与访问权限管理指南

一、准备工作:在自定义模块中创建安全配置文件

  1. 创建 security 文件夹
    在自定义模块内创建名为 security 的文件夹,用于存放安全组和访问权限的定义文件。
    在这里插入图片描述

二、定义模型访问权限:ir.model.access.csv 文件

1. 创建访问权限文件

security 文件夹下创建 ir.model.access.csv 文件,定义模型的访问权限。 在这里插入图片描述

文件格式:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink

2. 字段说明

字段描述
id记录的唯一标识符(如 access_模型名
name访问规则的名称(如 access.class.record
model_id:id模型名称,格式为 model_<模型名>(如 model_class_record
group_id:id关联的安全组(留空表示所有用户均可访问)
perm_read读取权限(1=允许,0=拒绝)
perm_write写入权限(1=允许,0=拒绝)
perm_create创建权限(1=允许,0=拒绝)
perm_unlink删除权限(1=允许,0=拒绝)

3. 示例:无安全组限制的访问规则

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_class_record,access.class.record,model_class_record,,1,1,1,1
  • 说明
    • group_id 留空:所有用户(包括管理员和普通用户)均可访问 class.record 模型。
    • 权限字段均为 1:允许读取、写入、创建和删除操作。

4. 应用访问规则

  1. 在模块的 __manifest__.py 文件的 data 列表中添加 CSV 文件路径:
    'data': ['security/ir.model.access.csv',# 其他数据文件
    ],
    
  2. 升级模块或重启 Odoo 使配置生效。

5. 通过界面查看访问权限

  • 路径设置 > 技术 > 访问权限
    在这里插入图片描述
  • 操作:搜索模型名称(如 class.record),查看已定义的访问规则及其关联的安全组和权限。

在这里插入图片描述

三、创建安全组:通过 XML 定义

1. 定义安全组 XML

security 文件夹下创建 security_groups.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<odoo><data><!-- 创建安全组:学生管理员 --><record model="res.groups" id="student_group_manager"><field name="name">学生管理员</field><!-- 指定组分类为"管理" --><field name="category_id" ref="base.module_category_administration"/></record></data>
</odoo>

2. 更新模块清单文件

__manifest__.pydata 列表中添加 XML 文件路径:

{'data': ['security/security_groups.xml','security/ir.model.access.csv',],
}

3. 为用户分配安全组

  1. 添加用户到安全组
    进入 设置 > 用户与公司 > 群组,搜索创建的安全组(如 “学生管理员”),在这里插入图片描述
    在组的表单视图的 用户 标签页下选择需要加入的用户。在这里插入图片描述

  2. 更新访问规则以限制权限
    修改 ir.model.access.csv 文件,将 group_id:id 设置为安全组的 ID(如 student_group_manager):

    id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
    access_class_record,access.class.record,model_class_record,student_group_manager,1,1,1,1
    

    效果:只有属于该安全组的用户才能访问 class.record 模型。

4. 验证权限效果

  • 管理员用户(属于该组):可查看和操作模型。在这里插入图片描述

  • 普通用户(不属于该组):无法看到模型。
    在这里插入图片描述

四、总结

在 Odoo 18 中,通过安全组和访问权限管理可精准控制用户对数据和功能的访问,是保障系统安全和业务流程合规的核心机制。通过定义 ir.model.access.csv 规则、创建安全组并关联用户,企业可灵活适配组织架构和权限策略,确保数据安全的同时提升协作效率。

相关文章:

  • 015枚举之滑动窗口——算法备赛
  • Matlab 单机无穷大系统故障
  • 什么是户用光储一体化,开启家庭用电新时代、智能电表 | 新能源发电系统配套电表 | 家用储能电表 | 防逆流监测电表
  • 【日撸 Java 三百行】Day 13(链表)
  • 关系实验课--笛卡尔积
  • Blueprints - Gameplay Message Subsystem
  • 274、H指数
  • PyCharm历史版本下载说明
  • 软件安全之内存泄漏
  • 电商平台一站式网络安全架构设计指南
  • 从PNG到矢量图:星云智控Logo的商用矢量转换全解析-优雅草卓伊凡
  • 掌握函数(二)嵌套使用与链式访问以及函数的声明与定义
  • 基于 Nexus 在 Dockerfile 配置 yum, conda, pip 仓库的方法和参考
  • 1.4 无穷小与无穷大
  • 计算机网络核心技术解析:从基础架构到应用实践
  • 当用户在浏览器输入一个 URL 并访问服务器时, 这个请求是如何到达对应的 Servlet 的?
  • 1.1 文章简介
  • 学习黑客5 分钟深入浅出理解Windows Firewall
  • kafka消费组
  • android14优化ntp时间同步
  • 上海浦东机场1号、2号航站楼均推出国内出发安检24小时服务
  • 中方发布会:中美经贸高层会谈氛围是坦诚的、深入的、具有建设性的
  • 多省市已开展现房销售试点,去年全国现房销售面积占比超30%
  • 重温经典|开播20周年,仙剑的那些幕后你知道吗?
  • 重庆大学通报本科生发14篇SCI论文处理结果
  • 古埃及展进入百天倒计时,闭幕前168小时不闭馆