2014-10-07 2 views
1

Я хочу создать веб-содержимое, которое невозможно визуализировать с помощью данной роли.Private WebContent для данной роли в Liferay

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

Если я создаю WebContent и разрешаю разрешения «View» для него только для плюсового пользователя и отображаю этот WebContent в портлете отображения WebContent, обычный пользователь может его просмотреть. Это ожидаемое поведение? Я отключил разрешение по умолчанию для каждой роли, даже гостевую роль по умолчанию.

Должно быть, мне что-то не хватает, потому что я считаю, что это должно быть довольно стандартной и очевидной функцией.

Благодаря

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

Кажется, что конфигурация, которую я описал, работает. Хотя веб-контент скрыт только при перечислении веб-содержимого с помощью портлета веб-содержимого. Если я установлю индивидуально портлет Web Content Display для показа частного содержимого, любая роль сможет его увидеть, даже если у него нет разрешения. То же самое происходит, если я передаю URL-адрес веб-контенту.

Итак, мой вопрос: Игнорирование разрешений просмотра - это поведение по умолчанию для портлета Web Content Display? В портлете Asset Publisher этого не происходит. Веб-контент скрывается при перечислении и просмотре, если роль не разрешает разрешения на этот контент.

ответ

1

Это должно быть правильной процедуры для достижения этой цели:

  1. Запретить любое разрешение на все веб-контента для роли гостя и вашей роли нормального пользователя (Панель управления> Роли> Гость | нормального пользователя > Определение разрешений)
  2. Конечно, один за другим, что веб-содержимое не имеет разрешения, чтобы быть замеченными гостя и нормальным пользователем

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

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

Другим обходным способом является размещение веб-содержимого на закрытой странице, таким образом вы будете уверены, что его увидят только участники сайта.

EDIT

Ваша проблема, казалось странным, так что я начал свой местный портал, его Liferay 6.2. Я запретил разрешение на просмотр только для одного веб-контента (изображение 1), и гостевые пользователи не могут его увидеть (изображение 2). PS все другие разрешения по умолчанию.

Я отредактировал также мой оригинальный ответ, потому что был неправ, первый пункт его ложь!

Повторно проверьте все права на портал, потому что это проще, чем мы думали! :)

enter image description here enter image description here

+0

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

+0

Извините, я не хотел устанавливать роль через шаблон, но проверять разрешения (или, проще говоря, если пользователь имеет определенную роль). В шаблоне скорости/freemarker вы можете создавать все классы, доступные на портале, поэтому вы можете использовать все методы для чтения ролей пользователя, зацикливать роли, и если у пользователя есть ваш плюс-пользователь, вы показываете контент, в противном случае отображается сообщение об ошибке o что-то похожее. –

+0

Да, вы правы. Но я хочу добиться такого поведения, связанного с контентом контента с функциями Liferay по умолчанию. Без внесения каких-либо пользовательских изменений кода. По крайней мере на данный момент. Мне трудно поверить, что это не очевидная особенность. Хотя это не решает мой вопрос, я буду оценивать ваш ответ в любом случае :) –

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