Configuration 添加站点页面时自动从来宾角色中删除查看权限

Configuration 添加站点页面时自动从来宾角色中删除查看权限,configuration,liferay,liferay-6,administration,Configuration,Liferay,Liferay 6,Administration,在Liferay中,将页面添加到站点时,默认情况下会授予来宾角色VIEW权限 是否有任何方法(通过配置或通过挂钩或其他方式)禁用此功能,以便在将新页面添加到站点时,默认情况下禁用来宾角色的查看权限?当页面[Layout in Liferay low level context]添加为公共页面时,Liferay为布局模型的sites.xml中定义的GUEST角色分配默认权限 通过ext开发,基本上有两种方法可以避免这种情况: 从sites.xml中删除来宾默认权限 通过将addGroupPerm

在Liferay中,将页面添加到站点时,默认情况下会授予来宾角色
VIEW
权限


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

当页面[Layout in Liferay low level context]添加为公共页面时,Liferay为布局模型的
sites.xml
中定义的
GUEST
角色分配默认权限

通过ext开发,基本上有两种方法可以避免这种情况:

  • sites.xml中删除来宾默认权限
  • 通过将
    addGroupPermissions
    布尔值设置为
    false
    来覆盖
    addLayout
    方法,更改ext中
    LayoutLocalServiceImpl
    中的代码
  • 有一些方法(通过liferay配置和Ext)可以限制没有明确权限的用户查看站点公共页面

    第一次进近

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

    permissions.check.guest.enabled=false
    
    但通过设置此属性,将发生的情况是,来宾角色仅对未登录的用户有意义,一旦用户登录,即使在来宾上有页面或资产的查看权限,用户也将无法查看,除非用户具有该权限

    所以,即使您将所有权限授予来宾角色,来宾角色也将变得完全无用

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

    第二次进近

    1) 在添加站点页面时,更新EXT插件中的site.xml以禁用来宾的默认
    查看
    权限


    通过在添加站点页面时执行此操作,默认情况下,未选中来宾角色的查看权限

    好的,当页面[Layout in Liferay low level context]被添加为公共页面时,Liferay为布局模型分配sites.xml中定义的默认猜测权限。基本上有两种方法可以通过ext development来避免这种情况。1.从sites.xml中删除来宾默认权限2.通过将addGroupPermissions布尔值设置为false,超越addLayout方法来更改ext中LayoutLocalServiceImpl中的代码。现在的要求是如何从来宾角色查看的页面中动态删除来宾角色权限已分配。我的意思是,有没有办法从所有已创建的页面中删除以前分配的来宾角色的查看权限,而不是从managepermission tab.Hmm中手动删除来宾角色的查看权限。为此,您可以编写一些实用程序portlet,它接受所有公共页面,并使用
    ResourcePermissionServiceUtil.removeResourcePermission
    ,可以删除来宾角色的查看权限。