让 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 多租户环境下,快速实现公司间的数据隔离规则。
核心工作流
- 激活技能:在对话中提及
@odoo-security-rules并描述具体的权限需求(例如“我要限制用户只能访问本公司的订单”)。 - 生成代码:AI 将输出正确的 CSV 访问行或 XML 记录规则定义,包含必要的
id、model_id、perm_read/write及domain_force。 - 调试诊断:将遇到的具体报错信息(如特定的 Access Denied 错误)粘贴给 AI,它将分析原因并给出修复建议。
安全最佳实践
- ✅ 最小权限原则:从最严格的权限开始,按需开放。
- ✅ 多公司域值:在
domain_force中使用company_ids(复数) 包含用户所属的所有公司,避免遗漏。 - ✅ 禁用超级调试模式:测试规则时请使用普通用户,避免使用
sudo(),因为调试模式会绕过所有记录规则。 - ✅ 自定义用户组:为模块创建专用的安全组(如
group_hospital_manager),严禁复用base.group_system或base.group_erp_manager,前者赋予的是服务器配置级的技术权限。
下载和安装
下载 odoo-security-rules 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。
你可能还需要
暂无推荐