legacy-knowledge-base
公開されました Jul. 2, 2025

Liferay JS Generator によって生成された Liferay JS ウィジェットで、resource-actions/default.xml を介してカスタム権限を追加できますか?

written-by

Alfonso Crisci

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • Liferay JS ジェネレーターを介して JS ウィジェットを生成した後、「従来の」ポートレットの resource-actions/default.xml ファイルを介して可能であるような、カスタム権限を活用する明らかな方法はありません。

Environment

  • Liferay DXP 7.1+

解決策

  • カスタム権限機能は、従来のポートレットのように JS ウィジェットには実装されていません。 これを回避するには、いくつかの方法があります。

    1. ウィジェットで「ボイラープレート」パーミッションを使用する
    liferay-js-generator ウィジェットですでに利用可能なパーミッションを使用できます。「ボイラープレート」は 構成 > パーミッション メニューから利用できます。

    2. 従来の NPM ポートレット バンドラーを使用する
    既に利用可能な権限が十分でない場合は、代わりに「従来の」ポートレット構造を使用する必要があります。 MVC の場合は、単純に次のようにします。

    blade create -t mvc-portlet -v 7.3 -p com.liferay.docs.mvcportlet -c MyMvcPortlet my-mvc-portlet-project

    一般的な JS フレームワークのプロジェクト スターターは、NPM メカニズムからも利用できます。次に例を示します。

    blade create -t npm-react-portlet -v 7.3 -p com.liferay.npm.react -c MyNpmReactPortlet my-npm-react-portlet

    または

    blade create -t npm-angular-portlet -v 7.3 -p com.liferay.npm.angular -c MyNpmAngularPortlet my-npm-angular-portlet

    3. liferay-js-generator ビルド プロセスをカスタマイズして機能
    をサポートする liferay-js-generator ビルド プロセスをカスタマイズして、default.xml のサポートを追加することもできます。 これは カスタマイズの一部であり、Liferay サポート チームの支援が制限されていることに注意してください。

    そうは言っても、純粋な JavaScript ポートレット JAR ファイルは真の OSGi バンドルであるため、Liferay ポータルが理解する (そして純粋な JavaScript ポートレットのコンテキストで理にかなっている) 内部ロジックを開発できれば、それが考慮されます。 たとえば、 liferay-npm-bundler の後に実行され、結果の JAR にいくつかの XML 構成ファイルを挿入するビルド ステップを実装することができ、理論上は機能する可能性があります。

追加情報

  • 純粋な Liferay JS Generator プロジェクトのバックエンド機能の場合、ツールは現在、 ローカリゼーション および 構成 サービスのみを提供し、さらに package.json のセクションを提供します。ここでは、ポートレット ヘッダーが定義されているのと同じ方法で注入できます。 Java 注釈。 純粋な JavaScript ポートレットは、JavaScript コードの代わりにこれらの機能を実装する中間 Java モジュールによってポータルに登録されるため、上記以外の必要な機能はすべて新しい機能として実装する必要があります。

did-this-article-resolve-your-issue

legacy-knowledge-base