Пользовательские роли портлета Liferay 6.2

Я создал пользовательскую обычную роль и вставил ее в файл portlet.xml so-portlet (элемент security-role-ref), а также сопоставил ее с соответствующей ролью в файле liferay-portlet.xml. Однако если пользователю принадлежит только эта настраиваемая обычная роль, отображается сообщение об ошибке "У вас нет ролей, необходимых для доступа к этому портлету". Также странно, что это происходит только на личном сайте пользователя, на любом другом сайте пользователь может просматривать конкретный портлет.

Кто-нибудь знает об этом?


person jkonst    schedule 06.10.2014    source источник
comment
Можете ли вы проверить настройки/разрешения для этого конкретного экземпляра портлета? Эти параметры переопределяют разрешения портала и разрешения портлета по умолчанию.   -  person yannicuLar    schedule 06.10.2014
comment
Я использую тему социального офиса, в которую встроен так-портлет. По умолчанию в sidebar_portlets.vm параметры портлета устанавливаются следующим образом: $velocityPortletPreferences.setValue(displayStyle, 0) $velocityPortletPreferences.setValue(portletSetupShowBorders, false)   -  person jkonst    schedule 06.10.2014
comment
Можно ли программно изменить эти разрешения портлета (например, какие роли могут просматривать этот портлет)?   -  person jkonst    schedule 06.10.2014
comment
хм, я не это имел в виду :) Я отправил ответ на ваш. Нет, вы не должны программно редактировать роли, вы должны использовать предоставленный интерфейс.   -  person yannicuLar    schedule 07.10.2014


Ответы (2)


Поскольку у вас есть настраиваемая обычная роль для вашего приложения, вам следует отредактировать разрешения роли по умолчанию.

  1. войти как администратор
  2. Go to Control Panel, Roles,
  3. Найдите свою роль и в меню Actions справа выберите Define Permissions.
  4. В меню слева найдите свое приложение
  5. Измените свои разрешения. Убедитесь, что для вашей роли предоставлено действие «Просмотр». Кроме того, вы можете разрешить его для всех сайтов (по умолчанию) или просто выбрать «Личный сайт пользователя» enter image  описание здесь

Теперь, если вы хотите сделать исключение для конкретного экземпляра портлета (именно это я имел в виду в своем вопросе в комментариях), вы можете:

  1. Войти как администратор
  2. Перейдите на конкретную страницу, на которую добавлен экземпляр вашего портлета.
  3. Включите элементы управления редактированием и отредактируйте свой портлет (мини-меню в правом верхнем углу со значком гаечного ключа)
  4. Выберите permissions и разрешите вашей роли просматривать портлет
person yannicuLar    schedule 07.10.2014
comment
Ваш ответ правильный, и он должен был быть применен в моем случае, но портлет, о котором я говорю, - это так-портлет [user_bar, сайты - 2 разных портлета в так-портлете], который недоступен в этом списке приложений - как он также недоступен в списке «Добавить приложения» на левой боковой панели каждой страницы сайта. - person jkonst; 07.10.2014

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

person Marco Mercuri    schedule 06.10.2014
comment
Да, но мой пользователь фактически может просматривать страницу, на которой расположен этот портлет, а также может нормально просматривать некоторые другие портлеты на той же странице. - person jkonst; 06.10.2014