Динамически удалять портлет, когда пользователь не вошел в Liferay 6.1?
Я использую следующий код для добавления портлета на мою страницу jsp:
themeDisplay.getLayoutTypePortlet().addPortletId(themeDisplay.getUserId (),portletId_1, "column-2", -1, false);
Затем на другой странице jsp, которая в том же портлете (отличном от того, который был удален выше), я удаляю portmetId_1 в коде добавления выше:
themeDisplay.getLayoutTypePortlet().removePortletId(themeDisplay.getUserId(), portletId);
Как добавление, так и удаление кода портлета работали нормально, если пользователь вошел в систему с ролью администратора (или с любыми ролями, которые имеют права на удаление портлета). Это не то, что я хотел, потому что мой сайт - это своего рода новости, и пользователям не требуется входить в систему. Если пользователи не вошли в систему или не вошли в систему с обычной ролью пользователя, то удаление кода портлета не работает вообще.
Как заставить работать код удаления портлета, не требуя, чтобы пользователи входили в систему с соответствующими ролями?