Liferay DXP 7.2 为组织配置不同页面查看权限/角色的最优实现方案
Liferay DXP 7.2 多组织共享站点权限配置最优方案
首先确认你对Liferay角色机制的理解是正确的:站点角色的作用域确实仅限绑定的单个站点,无法直接分配给组织层级,以下是无需拆分站点、完全依赖原生功能的实现方案:
1. 前置配置:创建站点角色并配置页面权限
进入共享站点的「站点管理→成员→角色」,创建3个站点角色,再到页面管理界面为对应页面配置仅允许指定角色查看:
Role 1:仅开放所有公共页面的「查看」权限Role 2:开放所有公共页面、管理页面的「查看」权限Role 3:仅开放所有私有页面的「查看」权限
注意:需要取消Guest、Site Member等内置角色的页面默认查看权限,避免权限溢出。
2. 绑定组织到共享站点,自动同步成员
进入共享站点的「站点管理→成员→组织」,将Organization 1、Organization 2添加为站点关联组织,开启「自动同步组织成员为站点成员」开关,两个组织下的用户会自动成为站点成员,无需手动逐个添加,满足用组织架构简化用户管理的需求。
3. 组织角色与站点角色映射(核心实现逻辑)
通过Liferay原生的角色关联功能,实现组织内分配组织角色自动同步获得对应站点角色:
- 进入两个组织各自的「组织管理→角色」界面,分别创建专属组织角色:
Organization 1下创建Org1-普通用户、Org1-管理员两个组织角色Organization 2下创建Org2-普通用户、Org2-私有页面用户两个组织角色
- 进入「控制面板→用户→角色」,找到上述4个组织角色,分别配置站点角色关联规则:
Org1-普通用户:关联共享站点的Role 1Org1-管理员:关联共享站点的Role 2Org2-普通用户:关联共享站点的Role 1Org2-私有页面用户:关联共享站点的Role 3
最终效果校验
Organization 1的管理员仅能管理自己组织下的两个组织角色,分配给成员后,成员登录即可自动获得对应站点权限,看到允许访问的页面Organization 2的管理员仅能管理自己组织下的两个组织角色,分配逻辑同上- 全程不需要拆分站点,无二次开发需求,符合Liferay权限设计最佳实践。
内容的提问来源于stack exchange,提问作者Ray Jasson
相关产品推荐
相关产品推荐

