2016-09-02 2 views
0

Я кодирую скрипт для изменения прав нескольких пользователей, и в один шаг мне нужно проверить некоторые поля в матрице, расположенной в Роли -> Разрешения. Для слов мне нужно переопределить, какие пользователи смогут просматривать или назначать некоторые другие роли, и это своего рода массовое изменение, поэтому следует избегать как можно более ручного подхода.Liferay 6.2: изменение разрешения одной роли для просмотра ролей или назначения ролей пользователям

Знаете ли вы, какую функцию я должен применять для этого? Возможно, что-то похожее на «ResourcePermissionLocalServiceUtil.setResourcePermissions», но я не уверен, что здесь есть правильное «действие» или если в этом случае есть «ресурс».

Заранее спасибо.

ответ

0

Я, наконец, решил это. Это было, действительно, использование функции setResourcePermission. Просто для того, чтобы помочь людям здесь, я объясню аргументы ненадолго, в порядке:

  • long companyId: идентификатор порта портала.
  • Название строки: имя ресурса, в данном случае, "com.liferay.portal.model.Role".
  • int scope: это должно быть с совместным разрешением. 1 - это весь экземпляр портала, а 4 - единственная роль, на которую ссылается ...
  • Строка primKey: это идентификатор роли, которую можно «манипулировать» ...
  • long roleId : идентификатор роли, которая будет иметь права на роль, указанную в предыдущем аргументе.
  • String [] actionIds: массив ключей, определяющий действия. Это КЛЮЧИ, а не идентификаторы. Например. VIEW, ASSIGN_MEMBERS ...

Так, например, вызов, как это:

PermissionResourceLocalServiceUtil.setResourcePermissions(10000,"com.liferay.portal.model.Role",4,"20150",22000, {"VIEW", "ASSIGN_MEMBERS"}); 

будет выдавать разрешения на роль 22000 зрения и передачи имущества пользователей к роли «20150» в экземпляр портала, идентификатор которого равен 10000.

Редактировать: другая версия той же функции setOwnerResourcePermissions, что то же самое, но дает вам возможность указать ownerId разрешения.

-1

Попробуйте это:

ResourcePermissionLocalServiceUtil.setResourcePermissions(themeDisplay.getCompanyId(), DLFolder.class.getName(), 
       ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(folderId), 
       roleIdsRole,Actionlist); 
Actionlist -[ACCESS,VIEW,UPDATE,DELETE,ADDSUBFOLDER] 
using RoleLocalServiceUtil to get roleId 
+0

см это: http://stackoverflow.com/help/how-to-answer –

Смежные вопросы