You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 17多公司记录访问控制配置问题及解决方案问询

Odoo 17社区版多公司权限配置解决方案

一、Record Rules和ACLs分步配置指南

1. 基础ACL配置

  • 确保用户所属业务组已分配对应模型的操作权限(如销售组需拥有sale.order的读/写/创建/删除权限),ACL仅控制模型级权限,记录级隔离需依赖Record Rules。
  • 禁止给普通业务用户分配Manage multi-company或Superuser特权组,此类权限会绕过多公司隔离规则。

2. 全局Record Rules统一配置

不要仅针对sale.order设置规则,需给所有需隔离的业务模型(如product.product、res.partner、account.move)添加多公司规则:

  • 规则条件:['|', ('company_id', '=', False), ('company_id', '=', user.company_id.id)]
    解释:允许访问无公司归属的公共记录,或当前用户所属公司的记录
  • 规则应用范围:选择Global对所有组生效,或针对特定业务组(如销售组、采购组)单独设置
  • 特殊模型适配:对于res.users,规则需调整为['|', ('company_id', '=', user.company_id.id), ('id', '=', user.id)],确保用户仅能查看自身及同公司用户

3. 关联字段权限修正

针对下拉菜单显示其他公司数据的问题,核心是给关联目标模型添加对应Record Rules:

  • 以产品下拉为例,给product.product添加全局多公司规则(条件同上),Odoo会自动在关联字段的搜索/下拉查询中应用目标模型的规则
  • 自定义模块的关联字段,避免设置context={'active_test': False}等绕过规则的参数,默认配置下Odoo会自动启用记录规则过滤

二、特定上下文的Record Rules调试方法

1. 开发者模式可视化调试

  • 开启开发者模式,进入目标模型的记录规则列表(如sale.order的规则页面)
  • 点击规则的测试按钮,输入待测试用户ID,系统会返回该用户可访问的记录范围及规则匹配结果
  • 在模型的访问权限页面,可查看所有生效的ACL和Record Rules列表

2. 日志调试

  • 在Odoo配置文件中添加权限相关日志配置:
    log_level = debug
    log_handler = werkzeug:WARNING,odoo.addons.base.models.ir_rule:DEBUG
    
  • 重启Odoo后执行对应操作(如打开销售订单产品下拉),日志会输出当前应用的规则、过滤条件及结果,快速定位未生效的规则

三、Odoo原生多公司控制最佳实践

  1. 启用原生多公司机制:

    • 在「设置 -> 通用设置」中开启多公司选项
    • 给用户分配唯一所属公司,不勾选「允许访问所有公司」
  2. 统一规则模板:

    • 对所有业务模型复用相同的多公司规则条件,避免遗漏
    • 公共数据(如国家、货币)设置company_id为False,允许全用户访问
  3. 严格权限管控:

    • 仅给超级管理员或跨公司管理人员分配Manage multi-company权限
    • 普通业务用户禁止分配Superuser权限
  4. 全面测试覆盖:

    • 创建不同公司的测试用户,验证以下场景:
      • 能否正常查看/编辑同公司记录
      • 尝试访问其他公司记录是否被拒绝
      • 关联字段下拉是否仅显示同公司数据
      • 报表是否仅包含同公司业务数据

四、常见问题处理技巧

  • 关联字段绕过规则:检查目标模型的Record Rules是否配置正确,自定义字段的domain需追加公司条件,如[('active', '=', True), ('company_id', '=', user.company_id.id)]
  • 报表跨公司显示:检查报表数据源模型的规则,或在报表动作设置中添加默认域[('company_id', '=', user.company_id.id)]
  • 规则不生效:确认规则的应用于组包含用户所属组,避免被更高优先级的规则覆盖(全局规则优先级高于组规则)

内容的提问来源于stack exchange,提问作者CodersFort

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:22:44