Odoo 16社区版:如何为不同网站分配不同用户组权限?
Odoo 16社区版多网站用户组权限配置方案
社区版本身没有原生的网站-用户组专属权限绑定功能,需通过**记录规则(Record Rules)**结合用户组实现数据级的权限隔离,让不同用户组仅能访问/操作对应网站的内容,具体步骤如下:
1. 创建网站专属用户组
- 进入
设置 > 用户与公司 > 群组,点击创建 - 命名组(如"网站A内容编辑组"),选择合适的父组(比如基于"网站内容管理员"继承基础权限)
- 保存后,将需要对应权限的用户加入该组
2. 为网站相关模型添加记录规则
针对网站核心关联模型(页面、博客、商品等),为每个用户组配置数据过滤规则:
以网站页面(website.page)为例:
- 进入
设置 > 技术 > 安全 > 记录规则,点击创建 - 模型:选择
Website Page(内部标识website.page) - 名称:填写规则标识(如"网站A页面权限控制")
- 群组:选择已创建的"网站A内容编辑组"
- 域:输入过滤条件,格式为
[('website_id', '=', 网站ID)](网站ID可在网站 > 配置 > 设置中,点击对应网站后从浏览器地址栏id=X处获取) - 权限:勾选该组需要的操作权限(读、写、创建、删除)
- 保存后,重复此步骤为其他网站的用户组配置对应规则(如网站B的域为
[('website_id', '=', 2)])
常见需配置的网站关联模型包括:
website(网站本身,限制用户仅能查看对应网站配置)blog.post(博客文章)product.template(电商商品)website.menu(网站菜单)
3. 验证权限效果
- 用目标组的用户账号登录系统,尝试访问其他网站的页面、博客或商品,应无法查看/编辑非对应网站的内容
- 检查是否有遗漏的关联模型,按需补充记录规则
注意事项
- 若用户同时属于多个组,会叠加所有组的记录规则,需确保规则间无冲突
- 记录规则是数据级过滤,需配合用户组的基础权限(如是否允许编辑页面)使用
内容的提问来源于stack exchange,提问作者fdas
相关产品推荐
相关产品推荐

