2

現在のユーザーがジャーナル記事を更新する権限を持っているかどうかを確認したいと思います。そのために、カスタム ポートレットから JournalArticlePermission.check() を呼び出したいのですが、ポートレットのクラス ローダーからクラス JournalArticlePermission にアクセスできません。

通話中

return permissionChecker.hasPermission(groupId, jaClassName, resourcePrimKey, ActionKeys.UPDATE);

機能しますが、ヘルパー クラスに実装されているすべてのステージング ロジックをバイパスします。

ジャーナル記事のアクセス許可を確認するクリーンな方法は何ですか?

ここに liferay フォーラムに投稿されたのと同じ質問ですが、提案された回答、つまりPortalClassInvoker.

4

1 に答える 1

0

それを行う本当の「クリーンな」方法はないようです。

パーミッション ヘルパー クラスは portal-impl パッケージの一部であるため、カスタム ポートレットで直接使用することはできません。ライフレイ フォーラムのこのスレッドで議論されているように、Harish Kumar と David H Nebinger からの貴重な情報が含まれています。

オプションは次のとおりです。

  • コア ヘルパー クラスからロジックをコピー アンド ペーストします。メンテナンスに明らかな影響があります。

  • ヘルパー コードをバイパスして下位レベルのチェックに直接進み、潜在的に価値のあるチェック (ステージング権限など) を脇に置きます。

于 2013-11-30T15:05:20.137 に答える