0

サイトの特定のページでのみWebコンテンツを作成/読み取り/更新/削除できるロールを定義することは可能ですか?たとえば、ロール「NewsContent」は、ニュースページ(およびそのサブページ)にのみWebコンテンツを追加できます。

役割に権限を追加するときにこのようなものが表示されないため、これまでのところこれを達成できませんでした。「Webコンテンツの追加」権限をロールに設定できますが、この権限を使用すると、このロールを持つユーザーはサイトのすべてのページにWebコンテンツを追加できます。

この機能は私のアプリケーションにとって非常に重要なので、これが可能であることを願っています。前もって感謝します!

4

2 に答える 2

0

アプリケーションにポートレットはありますか? その場合は、JSF ベースのポートレット用の以下のソリューションが役立ちます。

私の理解によると、「NewsContent」ロールは Web コンテンツをニュース ページに追加することしかできません。それで、ニュースページを表示するポートレットがあると思います。この場合、Liferay DB からユーザーのロールを取得します。

FacesContext context = FacesContext.getCurrentInstance();
        javax.faces.context.ExternalContext externalContext = context.getExternalContext();
if(externalContext.isUserInRole("NewsContent"))
{
  //Allow this user to do what you want him to do
}

JSF ベースのポートレットを使用していない場合でも、Liferay DB にクエリを実行しUSER_USERS_ROLESおよびROLE_テーブルでクエリを実行して、ログインしているユーザーの役割を取得できます。

于 2012-10-11T06:15:21.547 に答える