Liferay 6.1.2如何授予书签输入权限

时间:2014-12-08 12:08:11

标签: permissions liferay bookmarks

我正在创建一个portlet来grep所有访问过的url并为其创建书签条目并且没有任何问题。但是在给予某些特定角色和团队许可的同时,我遇到了问题。

任何人都可以帮助我如何以编程方式设置书签条目的权限。 我使用以下代码:

BookmarksEntry entry = BookmarksEntryLocalServiceUtil.addEntry(user.getUserId(), 
                                        GroupLocalServiceUtil.getGroup(user.getCompanyId(), "SPACE").getGroupId(),0,
                                        wikiResource,url,wikiResource+" Accessed on "+viewedDate , new ServiceContext());
long groupId = entry.getGroupId();
long companyId = entry.getCompanyId();
String name = BookmarksEntry.class.getName();
String primKey = entry.getPrimaryKey() + "";

// For Role : "Role_XYZ"
try {
    Role sp_View_Prod_role = RoleLocalServiceUtil.getRole(companyId,"Role_XYZ");
    ResourcePermissionServiceUtil.setIndividualResourcePermissions(
            groupId, companyId, name, primKey,
            sp_View_Prod_role.getRoleId(),
            new String[] { ActionKeys.VIEW });

    PMLogger.logging("[INFO] Document uploaded with view permission added for sp_View Prod,sp_View All -ROLES");
} catch (Exception e) {
    e.printStackTrace();
    PMLogger.logging(e.getMessage());
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

代码对我来说似乎没问题。但问题可能是你在错误的地方进行验证。

由于您要为个人BookmarksEntry添加权限,因此您可以通过以下方式对其进行验证:

  1. 检查ResourcePermission表是否具有给定roleId的条目,其名称和primKey列具有与您相同的数据。范围列的值为4
  2. 我认为你应该检查书签portlet中的权限以及条目本身。
  3. 以下是您可以检查输入权限的屏幕截图:

    Bookmarks Permissions

  4. 希望这有帮助。