次のコードを使用して、jsp ページにポートレットを追加します。
themeDisplay.getLayoutTypePortlet().addPortletId(themeDisplay.getUserId (),portletId_1, "column-2", -1, false);
次に、同じポートレット (上記で削除したものとは異なります) 内の別の jsp ページで、上記の追加コードで portmetId_1 を削除します。
themeDisplay.getLayoutTypePortlet().removePortletId(themeDisplay.getUserId(), portletId);
ユーザーが管理者ロール (またはポートレットを削除する権限を持つ任意のロール) でログインしている場合、ポートレット コードの追加と削除の両方が正常に機能しました。私のサイトは一種のニュースであり、ユーザーはログインする必要がないため、これは私が望んでいたことではありません。ユーザーがログインしていない場合、または通常のユーザー ロールでログインしている場合、ポートレット コードの削除はまったく機能しません。
ユーザーが適切なロールでログインする必要なく、ポートレット コードの削除を機能させるにはどうすればよいですか?