Пользовательское разрешение для пользовательского портлета для конкретного пользователя в liferay

Как определить настраиваемое разрешение для настраиваемого портлета для конкретного пользователя в liferay? Я использовал окружение liferay 6.1.2 ga3 с jboss. В моем собственном портлете кнопка развертывания / отмены развертывания, но как я могу дать конкретное разрешение тому, что только администратор может получить доступ к этой функции любой другой? не может использовать это

проверьте эту ссылку https://i.imgur.com/Qwfbg2H.png

Можете ли вы уточнить, пожалуйста.

Я также проверяю эту ссылку для справки

и на странице jsp для рендеринга всех данных сетки данных через jeasyui и остальные API

Удаление пользовательских разрешений / действий из портлета http://liferayzone.wordpress.com/2013/09/01/liferay-permission-on-custom-portlet/

2 ответа

Liferay позволяет назначать разрешения только ролям, вы просто не можете делать это для отдельных пользователей. Вы должны либо определить новую роль, либо реализовать эту функцию самостоятельно (без использования системы разрешений Liferay).

На всякий случай, если вам придет в голову эта идея, не используйте создание ролей для каждого пользователя - это просто убийство производительности. Иногда люди пытаются это сделать, чтобы обойти ограничения системы разрешений Liferay - это очень плохая идея!

Этот учебник может помочь вам:

  1. Вам нужно создать XML-файл сопоставления действий с ресурсами и добавить новый ключ действия (простая строка)
  2. Поместите его в /src/main/resources/resource-action (назовите его как default.xml)
  3. Создайте файл portlet.properties в / src / main / resources
  4. Добавьте следующую строку: resource.actions.configs=resource-actions/default.xml

Разверните свой портлет и проверьте новое разрешение в разделе Роли -> Выбрать роль -> Определить вкладку разрешений.

Вы можете проверить права доступа пользователя с помощью missionChecker на вашем JSP

  1. Вам нужен этот импорт: <%@ taglib prefix="theme" uri="http://liferay.com/tld/theme" %>
  2. Определить объекты: <theme:defineObjects />
  3. Теперь вы можете использовать объект accesschecker:

    permissionChecker.hasPermission(scopeGroupId, portletName, scopeGroupId,    permissionName)
    
Другие вопросы по тегам