Я загрузил несколько файлов в библиотеку документов с помощью Portlet_DL_DLFileEntryService
(/tunnel-web/secure/axis/Portlet_DL_DLFileEntryService
). Теперь я хотел бы изменить их разрешения. Если я прав, я мог бы сделать это с помощью Portal_PermissionService
(/tunnel-web/secure/axis/Portal_PermissionService
). Может ли кто-нибудь дать мне несколько рабочих примеров? Простые запросы soapUI были бы в порядке.
Изменение прав доступа к элементам библиотеки документов через Liferay Webservices
Ответы (1)
Вы должны использовать Portal_ResourcePermissionService
вместо Portal_PermissionService
, у него есть следующий метод:
setIndividualResourcePermissions(long groupId, long companyId, String name, String primKey, long roleId, String[] actionIds)
куда:
- groupId совпадает с идентификатором сообщества
- companyId, вероятно, равен 1
- имя равно
com.liferay.portlet.documentlibrary.model.DLFileEntry
илиcom.liferay.portlet.documentlibrary.model.DLFolder
- primKey можно получить с помощью
fileEntry.getPrimaryKey()
илиfolder.getPrimaryKey()
- roleId – идентификатор роли, его можно получить через
Portal_RoleService
- actionIds содержит разрешения (например,
VIEW
,DELETE
)
person
meszibalu
schedule
11.11.2011
Просто интересно, как вы реализуете этот ответ? Я новичок в Liferay и не являюсь разработчиком J2EE. Я просто хочу, чтобы любой файл, загруженный любым пользователем в портлете «Документы и мультимедиа», имел разрешения роли GUEST, установленные с VIEW по умолчанию. Прямо сейчас каждый раз, когда пользователь загружает файл, ему нужно перейти на страницу разрешений и установить флажок просмотра, чтобы другие пользователи могли видеть/загружать файл, что очень раздражает пользователей. Я думал вставить новую строку в таблицу ResoursePermission и установить roleId = 10162, ownerID = 0, actionIds = 1, однако это хак, а не хорошо...
- person ElasticThoughts; 11.02.2014
Один из лучших ответов Liferay, которые я когда-либо видел, но не могли бы вы еще уточнить, что такое идентификатор сообщества? Во-вторых; Существует ли отдельное действие ЗАГРУЗИТЬ для файлов или какое разрешение требуется для загрузки? В-третьих; могу ли я применить это к отдельным пользователям, а также к группам, если я просто дам ему userId вместо roleId?
- person Joel Peltonen; 15.07.2015