让 AI 自动写 Odoo 模型访问权限 CSV

解决 Odoo 开发中的安全配置痛点:AI 自动根据业务场景生成 ir.model.access.csv 模型级权限定义、ir.rule 记录级数据隔离规则,并修复多公司访问报错。

为什么需要这个技能

在开发 Odoo 模块时,必须手动定义谁可以读/写哪个模型,以及谁能看到哪些数据记录。

如果不借助 AI,开发者容易在 ir.model.access.csv 中遗漏 group_id 导致公开访问,或者在 ir.rule 中忘记指定用户组导致规则全局生效。此外,处理多公司(Multi-Company)数据隔离时,手动编写 domain 表达式极易出错,引发严重的跨公司数据泄露风险。

本技能让 AI 根据你描述的场景(如“住院部医生只能看自家病人”),直接生成符合安全规范的代码片段。

适用场景

  • 刚开发完一个自定义模块,需要配置基础的数据访问权限。
  • 需要限制普通用户仅查看自己创建的数据或所属公司的数据。
  • 遇到 “Access Denied” 或 “You are not allowed to access” 等权限报错时。
  • 在 Odoo 多租户环境下,快速实现公司间的数据隔离规则。

核心工作流

  1. 激活技能:在对话中提及 @odoo-security-rules 并描述具体的权限需求(例如“我要限制用户只能访问本公司的订单”)。
  2. 生成代码:AI 将输出正确的 CSV 访问行或 XML 记录规则定义,包含必要的 idmodel_idperm_read/writedomain_force
  3. 调试诊断:将遇到的具体报错信息(如特定的 Access Denied 错误)粘贴给 AI,它将分析原因并给出修复建议。

安全最佳实践

  • 最小权限原则:从最严格的权限开始,按需开放。
  • 多公司域值:在 domain_force 中使用 company_ids (复数) 包含用户所属的所有公司,避免遗漏。
  • 禁用超级调试模式:测试规则时请使用普通用户,避免使用 sudo(),因为调试模式会绕过所有记录规则。
  • 自定义用户组:为模块创建专用的安全组(如 group_hospital_manager),严禁复用 base.group_systembase.group_erp_manager,前者赋予的是服务器配置级的技术权限。

下载和安装

下载 odoo-security-rules 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。

你可能还需要

暂无推荐