Liferay - 在自定义字段/ expandocolumn上设置访客权限

时间:2016-06-11 04:28:35

标签: java permissions liferay liferay-6

我已经通过Hook插件创建了一个expando列,成功地将自定义字段添加到用户注册页面(create_account.jsp)。但是,在通过管理UI启用Guest权限之前,该字段不可见。

我需要能够通过Hook插件以编程方式执行此操作。详尽的研究让我相信下面的代码可以解决这个问题:

        Role guest = RoleLocalServiceUtil.getRole(companyId, RoleConstants.GUEST);

    ResourcePermissionLocalServiceUtil.setResourcePermissions(
            companyId, 
            ExpandoColumn.class.getName(), 
            ResourceConstants.SCOPE_INDIVIDUAL,        
            String.valueOf(expandoColumn.getColumnId()), 
            guest.getRoleId(), 
            new String[] { ActionKeys.VIEW, ActionKeys.UPDATE });

但它没有。

有人有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我尝试了与你相同的代码,它对我有用。在我看来,问题出在“expandoColumn.getColumnId()”中。你如何检索对象ExpandoColumn?我尝试使用表id和名称:

ExpandoColumn expandoColumn = ExpandoColumnLocalServiceUtil.getColumn(21806, "Menu");

为此尝试我直接从DataBase中检索表id,从表“expandocolumn”