Изменение разрешений элементов библиотеки документов через Liferay Webservices - PullRequest
3 голосов
/ 24 октября 2011

Я загрузил некоторые файлы в библиотеку документов с помощью Portlet_DL_DLFileEntryService (/tunnel-web/secure/axis/Portlet_DL_DLFileEntryService). Теперь я хотел бы изменить свои разрешения. Если я прав, я мог бы сделать это с Portal_PermissionService (/tunnel-web/secure/axis/Portal_PermissionService). Может ли кто-нибудь дать мне несколько рабочих примеров? Простые запросы soapUI будут в порядке.

Например, у меня есть экземпляр DLFileEntrySoap, и я хочу добавить разрешение VIEW для роли Guest и разрешения VIEW и UPDATE для роли Publisher. Какой метод Portal_PermissionService мне следует вызвать и каковы значения параметров метода?

1 Ответ

6 голосов
/ 11 ноября 2011

Вы должны использовать Portal_ResourcePermissionService вместо Portal_PermissionService, он имеет следующий метод:

setIndividualResourcePermissions(long groupId, long companyId, String name, String primKey, long roleId, String[] actionIds)

где:

  • groupId равен идентификатору сообщества
  • companyId вероятно 1
  • name is com.liferay.portlet.documentlibrary.model.DLFileEntry или com.liferay.portlet.documentlibrary.model.DLFolder
  • primKey можно получить с помощью fileEntry.getPrimaryKey() или folder.getPrimaryKey()
  • roleId - это идентификатор роли, его можно получить с помощью Portal_RoleService
  • actionIds содержит разрешения (например, VIEW, DELETE)
...