Citrix Gateway

カスタムプラグインを使用したゲートウェイポータルのカスタマイズ

Citrix Gateway RFWebIフレームワークは、カスタムプラグインを追加してゲートウェイポータルをカスタマイズする機能を提供します。これらのカスタムプラグインは、ゲートウェイフローに新しいページ全体を追加する場合など、ゲートウェイに大規模な機能を追加するために使用できます。その他のユースケースでは、ゲートウェイテーマ用のカスタムスクリプトファイルに、/var/netscaler/logon/themes/<custom_theme>/script.jsという場所にあるコードを追加できます。

  1. カスタムプラグインを追加するには、その場所/var/netscaler/logon/LogonPoint/plugins/ns-gateway/に JavaScript ファイルを作成します。たとえば、 /var/netscaler/logon/LogonPoint/plugins/ns-gateway/には次のプラグインがあります。

    • ns-nfactor.js

    • nsg-epa.js

    • nsg-setclient.js

    プラグイン名は、<plugin_name>.js の形式で入力することをお勧めします。

    これらのプラグインファイルはすべて、機能に必要な rfWebUi フレームワークによって取得されます。

  2. プラグインファイルを作成したら、次のコードを例として使用して、プラグインを rfWebUi フレームワークに登録します。

            (function ($) {
                        CTXS.ExtensionAPI.addPlugin( {
                                    Name : “plugin name”,
                                    initialize: function() {}
                        });
                })(jQuery);
    <!--NeedCopy-->
    

    各項目の意味は次のとおりです。

    name は、プラグインに付けられた名前です。これは、プラグインの識別子として使用されます。

    initialize は、プラグインの初期化に使用されるパラメータとして関数を取ります。

  3. プラグインを登録するCTXS.ExtensionAPI.addPlugin()関数に、プラグイン名と初期化関数を入力します。 追加したプラグインの名前と場所は、その場所/var/netscaler/logon/themes/<custom_theme>/plugins.xmlの plugins.xml ファイルに登録する必要があります。

  4. プラグインコードを記述したら、新しく追加したプラグインの名前と場所を、その場所/var/netscaler/logon/themes/<custom_theme>/plugins.xmlplugins.xmlファイルに登録する必要があります。プラグインは、 plug-in タグで登録する必要があります。

    <plugins>
    <plugin name="nsg-epa" src="plugins/ns-gateway/nsg-epa.js"/>
    <plugin name="nsg-setclient" src="plugins/ns-gateway/nsg-setclient.js"/>
    <plugin name="ns-nfactorn" src="plugins/ns-gateway/ns-nfactor.js"/>
    </plugins>
    <!--NeedCopy-->
    
  5. rfWebUI がプラグインを識別して取得できるように、プラグインの名前と src を入力します。

設定例

次の構成例を使用して、カスタムプラグインを追加して、Citrix Gateway ログオンページにフッターを追加できます。

  1. 次の場所に JavaScript プラグインファイルを作成します。 /var/netscaler/logon/LogonPoint/plugins/ns-gateway/.
  2. プラグインに ns-footer.js /var/netscaler/logon/LogonPoint/plugins/ns-gateway/ns-footer.jsという名前を付けます。
  3. 登録されたプラグインに次のコードを rfWebUI に追加し、初期化関数でゲートウェイにフッターを追加します。

    (function ($) {
    CTXS.ExtensionAPI.addPlugin({
        name: "ns-footer", // Name of plugin - must match name sent in configuration
        initialize: function () {
            CTXS.Extensions.beforeLogon = function (callback) {
                $("#customExplicitAuthBottom").append("<div style='text-align:center;color:white;font-size:15px;'><br>Disclaimer<BR><BR>"+
                    " Access to this website is restricted to employees of Login Consultants<BR></div>");
                callback();
            };
        }
    });
    })(jQuery);
    <!--NeedCopy-->
    
  4. ファイルを保存します。
  5. その場所var/netscaler/logon/themes/<custom_theme>/plugins.xmlの plugins.xml にnameと src を追加します。

    <plugins>
    <plugin name="nsg-epa" src="plugins/ns-gateway/nsg-epa.js" />
    <plugin name="nsg-setclient" src="plugins/ns-gateway/nsg-setclient.js" />
    <plugin name="ns-nfactor" src="plugins/ns-gateway/ns-nfactor.js" />
    <plugin name="ns-footer" src="plugins/ns-gateway/ns-footer.js" />
    </plugins>
    <!--NeedCopy-->
    
  6. プラグインを追加するカスタムテーマを設定します。
  7. flush cache contentgroup loginstaticobjectsコマンドを使用してキャッシュをフラッシュします。
  8. ポータル画面をリロードします。 フッターがCitrix Gateway ログインページに追加されます。 カスタムポータルコード
カスタムプラグインを使用したゲートウェイポータルのカスタマイズ

この記事の概要