Odoo-16多网站用户权限配置:单站编辑其余只读需求
Odoo 16 多网站用户权限配置方案
核心思路
通过记录规则结合用户组,针对不同网站的内容模型(页面、产品、博客等)设置差异化权限,实现用户在指定网站可编辑、其他网站只读的需求。
具体步骤
1. 配置用户组
- 创建两个专属用户组:
Website1 编辑组、Website2 只读组 - 将目标用户(如user1)加入这两个组,同时确保用户拥有
Website Editor基础组权限(该组提供网站编辑的基础操作权限)
2. 为网站内容模型设置记录规则
以网站页面模型(website.page)为例,其他模型(如product.template、blog.post)操作逻辑一致:
- 进入
设置 -> 技术 -> 记录规则,点击创建:- 编辑规则(Website1):
- 模型:
Website Page - 应用:
Website - 权限:勾选
创建、编辑、删除 - 规则定义:
[('website_id', '=', 1)](替换为website1的实际ID,可在网站设置页面查看ID) - 适用组:选择
Website1 编辑组
- 模型:
- 只读规则(Website2):
- 模型:
Website Page - 应用:
Website - 权限:仅勾选
只读 - 规则定义:
[('website_id', '=', 2)](替换为website2的实际ID) - 适用组:选择
Website2 只读组
- 模型:
- 编辑规则(Website1):
3. 可选:用户绑定默认网站(灵活扩展)
如果不想硬编码网站ID,可将用户关联的伙伴绑定到对应网站:
- 打开
联系人 -> 联系人,找到user1对应的伙伴记录 - 在
销售 & 采购标签页,设置网站为website1 - 此时记录规则的定义可改为
[('website_id', '=', user.partner_id.website_id.id)],后续新增网站时无需修改规则
4. 权限验证
- 用user1登录系统,切换到website1,尝试编辑页面、发布内容,确认正常操作
- 切换到website2,打开任意页面,确认仅能查看,无编辑按钮
注意事项
- 避免冲突规则:确保用户未加入全局编辑类的组(如
Website Manager),否则会覆盖记录规则的权限 - 全模型覆盖:需对所有需要权限控制的网站相关模型(博客、产品、菜单等)重复设置记录规则
- 电商场景适配:若使用电商模块,需为
product.template模型添加对应规则,因为Odoo16支持产品绑定特定网站
内容的提问来源于stack exchange,提问作者Headie
相关产品推荐
相关产品推荐

