添加站点页面时,自动从访客角色中删除VIEW权限

suy*_*ash 3 configuration administration liferay liferay-6

在Liferay中,当页面添加到站点时,它默认授予VIEWGuest角色的权限.

站点页面的权限窗口

是否有任何方法(通过配置或通过挂钩或其他方式)禁用此功能,以便VIEW在将新页面添加到站点时默认情况下为Guest角色禁用权限?

Pan*_*iya 5

好吧,当页面[布局 - 在Liferay低级别上下文]中添加为公共页面时,Liferay会为布局模型中GUEST定义的角色分配默认权限sites.xml.

基本上有两种方法可以通过ext开发来避免它:

  1. 从中删除来宾默认权限 sites.xml
  2. 通过使用布尔值作为LayoutLocalServiceImpl覆盖addLayout方法来改变ext中的代码.addGroupPermissionsfalse


suy*_*ash 5

有一些方法(通过liferay配置和Ext),您可以使用这些方法限制那些未明确拥有该权限的用户的VIEW of Site公共页面.

第一种方法

所以这可以通过false在portal-ext.properties中设置此属性来实现:

permissions.check.guest.enabled=false
Run Code Online (Sandbox Code Playgroud)

但是,通过设置此属性,即使用户登录,即使对于页面或资产的访客具有VIEW权限,用户也不会登录,访客角色仅对未登录的用户有意义能够查看它,除非用户拥有该权限.

因此,即使您将所有权限授予Guest角色,Guest角色也将变得完全无用.

对于尚未登录的用户,您可以使用某些逻辑将其发送到登录页面.

第二种方法

1)在EXT-plugin中更新site.xml以VIEW在添加"站点"页面时禁用guest 虚拟机的默认权限.

通过添加网站页面时,默认情况下取消选中访客角色的查看权限.