2014-10-06 2 views
1

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

У кого-нибудь есть представление об этом?

+0

Вы можете проверить настройки/разрешения для этого конкретного экземпляра портлета? Эти параметры переопределяют разрешения портала и разрешения по умолчанию для портлета – yannicuLar

+0

Я использую тему социального офиса, в которую встроен такой портлет в тему. По умолчанию в sidebar_portlets.vm настройки портлета задаются следующим образом: $ velocityPortletPreferences.setValue ("displayStyle", "0") $ velocityPortletPreferences.setValue ("portletSetupShowBorders", "false") – jkonst

+0

Возможно ли изменить эти разрешения портлета (например, какие роли могут просматривать этот портлет) программно? – jkonst

ответ

0

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

+0

Да, но мой пользователь действительно может просмотреть страницу, на которой расположен этот портлет, а также может нормально просматривать некоторые другие портлеты на одной странице. – jkonst

1

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

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

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

  1. Войти как администратор
  2. Перейдите к странице, где добавляется ваш экземпляр портлета.
  3. Включить Edit Controls и редактировать портлет (мини-меню на верхней правой стороне, со значком гаечного ключа)
  4. Pick permissions и есть ваша роль разрешено просматривать портлет
+0

Ваш ответ правильный, и он должен был применяться в моем случае, но портлет, о котором я говорю, - это так портлет [user_bar, sites - 2 разных портлета внутри такого портлета], который недоступен в этом списке приложений - поскольку он также не доступен в списке «Добавить приложения» на левой боковой панели каждой страницы сайта. – jkonst

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