Показать дерево страниц

У меня проблема с отображением дерева отображаемых страниц в разделе отображаемых страниц формы создания веб-контента. Я создал несколько страниц с издателями ресурсов. Я установил этих издателей в качестве издателей активов по умолчанию для этих страниц. Я создал эти страницы и издателей активов под ролью администратора. Когда я открываю раздел отображаемых страниц в форме создания любого веб-контента, он показывает мне карту сайта, где я могу увидеть страницы, на которых есть издатель ресурсов, см. Изображение:

введите здесь описание изображения

Вы можете видеть, что черный цвет предназначен для страниц с издателями ресурсов.

Но когда я вхожу в систему с другим пользователем, я не могу развернуть это дерево. Единственное, что я вижу, это «1-й уровень» этой карты сайта:

введите здесь описание изображения

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

Когда я нажимаю на маленький значок «плюс» в этом дереве, я вижу, что он делает запрос на «/c/layouts_admin/get_layouts», но в запросе я вижу только html, который говорит мне, что у меня недостаточно ролей для получения правильный контент.

Я провел небольшое расследование. Я пытался сделать запрос под этим пользователем из jsonws api ("/api/jsonws?signature=%2Flayout%2Fget-layouts-6-groupId-privateLayout-parentLayoutId-incomplete-start-end"). Я попробовал тот же метод с теми же параметрами, что и в запросе из дерева карты сайта, и он вернул мне правильный контент.

Итак, из окна «Выбрать страницу отображения» мне сообщается, что у меня плохая роль, но когда я вызываю API из jsonws с теми же параметрами, он возвращает мне хороший результат. Где может быть проблема?

Спасибо, Патрик


person hazard16    schedule 11.08.2014    source источник
comment
Как вы предоставили возможность добавлять веб-контент другому пользователю?   -  person Origineil    schedule 12.08.2014
comment
Для основного веб-контента я добавил все права из панели управления->Роли->определить разрешения для конкретной роли. Я добавил все возможные разрешения из предложения разрешения. Для пользовательских структур я добавил права через контент-›управление-›структуры и проверил все разрешения для конкретной роли.   -  person hazard16    schedule 12.08.2014


Ответы (1)


  1. Привет, дорогой. Добавьте этот фрагмент в com.liferay.portal.struts.PortalRequestProcessor.java.
  2. processRoles (HttpServletRequest, HttpServletResponse, ActionMapping)
  3. После создания пользовательского объекта.

    if(user!=null){ if(path.equals("/layouts_admin/get_layouts")){ return true; } }

person Dipak Suthar    schedule 04.10.2014