【问题标题】:Enable option "Merge Liferay public pages" by default for all users默认为所有用户启用“合并 Liferay 公共页面”选项
【发布时间】:2013-10-14 14:18:27
【问题描述】:

我想知道是否有一种方法可以默认为所有门户用户激活“合并 Liferay 公共页面”选项。

这个选项可以在这里设置(看截图): 控制面板 > 个人网站 > 网站页面 > 公共页面 > 高级。

我搜索了门户属性选项,但没有找到任何东西。

如果有办法通过钩子设置,我也很感兴趣。

【问题讨论】:

    标签: liferay portal


    【解决方案1】:

    我找到了解决办法。

    我在我的 AutoLogin 挂钩中添加了一些代码(请参阅 Liferay auto.login.hook 属性,该属性可以在 portail.properties 文件中设置)。

    使用 GroupServiceUtil 类设置“合并公共页面”选项很容易:

    GroupServiceUtil.updateGroup(user.getGroupId(), "mergeGuestPublicPages=true");
    

    如果出现“com.liferay.portal.security.auth.PrincipalException: PermissionChecker not initi alized" 错误。首先需要初始化权限检查器。这是一种方法:

    Company company = PortalUtil.getCompany(request);
    Role adminRole =  RoleLocalServiceUtil.getRole(company.getCompanyId(),"Administrator");
    List<User> adminUsers = UserLocalServiceUtil.getRoleUsers(adminRole.getRoleId());
    
    PrincipalThreadLocal.setName(adminUsers.get(0).getUserId());
    try {
        PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(adminUsers.get(0));
        PermissionThreadLocal.setPermissionChecker(permissionChecker);
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多