ограничить доступ к портлетам в liferay - PullRequest
2 голосов
/ 20 сентября 2011

У меня есть портлет с именем "asdf". Я использую AJAX, чтобы перезагрузить маленькие представления. Чтобы получить доступ к этим представлениям, я могу позвонить, например, http://localhost:8080/asdf-portlet/view.jsp Это работает хорошо, за исключением того, что люди, которые не вошли в систему, могут также получить доступ к этим представлениям, но они не должны иметь возможность.

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

Ответы [ 4 ]

1 голос
/ 13 марта 2012

Можете ли вы предоставить ссылку для прямого доступа к вашему представлению? Может быть, это может прояснить ситуацию.

Если это ссылка, которую вы указали в первом сообщении, я могу представить, почему вы просматриваете портлет. Это потому, что вы не вызываете какой-либо портлет, вы вызываете только часть сервлета. Этот тип вызова не имеет ничего общего с liferay, поэтому связанные с портлетами xml-файлы не читаются tomcat (или любым другим java-сервером).

Как уже предложено doc_180, вы должны либо

  • фильтрует запросы сервлета во избежание прямого доступа
  • (и / или) ограничить доступ к приложению только из liferay (необходимо настроить java сервер (например, Tomcat), чтобы сделать это.
0 голосов
/ 20 сентября 2011

Liferay имеет обширную иерархическую систему, основанную на разрешениях. Я бы посоветовал вам ограничить права доступа к портлету для пользователей, вошедших в систему. Обычно это делается путем удаления опции guest / anonymous -> view.

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

0 голосов
/ 28 сентября 2011

Вы пытались удалить

<security-role-ref>
    <role-name>guest</role-name>
</security-role-ref>

из portlet.xml?

Я тоже удаляю

<role-mapper>
  <role-name>guest</role-name>
  <role-link>Guest</role-link>
</role-mapper>

из liferay-portlet.xml.

0 голосов
/ 20 сентября 2011

Я думаю, что вам, возможно, потребуется предоставить больше информации.Какую версию LifeRay вы используете?Вы указали разрешение?На какой странице вы добавили свой портлет?

Укажите, что только «пользователь» может получить доступ к портлету, а также, я думаю, вы добавили портлет на страницу входа гостя.Это означает, что портлет является публичным.

...