Citrix Gateway

Anpassung des Gateway-Portals mit benutzerdefinierten Plug-Ins

Citrix Gateway RfWebUI-Framework bietet die Möglichkeit, die benutzerdefinierten Plug-Ins hinzuzufügen, um ihr Gateway-Portal anzupassen. Diese benutzerdefinierten Plug-Ins können verwendet werden, um dem Gateway umfangreiche Funktionen hinzuzufügen, z. B. wenn Sie eine ganz neue Seite im Gateway-Flow hinzufügen möchten. Für andere Anwendungsfälle kann der Code zu der benutzerdefinierten Skriptdatei hinzugefügt werden, die für Gateway-Designs am Speicherort/bereitgestellt wirdvar/netscaler/logon/themes/<custom_theme>/script.js.

  1. Um ein benutzerdefiniertes Plug-in hinzuzufügen, erstellen Sie die JavaScript-Datei am Speicherort /var/netscaler/logon/LogonPoint/plugins/ns-gateway/. Zum Beispiel finden Sie die folgenden Plug-Ins in /var/netscaler/logon/LogonPoint/plugins/ns-gateway/.

    • ns-nfactor.js

    • nsg-epa.js

    • nsg-setclient.js

    Es wird empfohlen, den Namen des Plugins im Format <plugin_name>.js einzugeben.

    Alle diese Plug-In-Dateien werden vom RfWebUI-Framework abgerufen, das für die Funktionalität erforderlich ist.

  2. Verwenden Sie nach dem Erstellen der Plug-In-Datei den folgenden Code als Beispiel, um das Plug-in im RfWebUI-Framework zu registrieren.

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

    Wobei:

    name ist der Name, der dem Plug-in gegeben wurde. Es wird als Identifikator für das Plug-in verwendet.

    initialize nimmt die Funktion als den Parameter, mit dem das Plug-in initialisiert wird.

  3. Geben Sie den Namen des Plugins und die Initialisierungsfunktion in die Funktion CTXS.ExtensionAPI.addPlugin() ein, um das Plug-in zu registrieren. Der hinzugefügte Plug-In-Name und -Speicherort muss an diesem Speicherort in der Datei plugins.xml registriert sein /var/netscaler/logon/themes/<custom_theme>/plugins.xml.

  4. Nach dem Schreiben des Plug-In-Codes müssen der neu hinzugefügte Plug-In-Name und -Speicherort bei der Datei plugins.xml am Speicherort /var/netscaler/logon/themes/<custom_theme>/plugins.xml registriert werden. Das Plug-in muss mit dem Tag plug-in registriert sein.

    <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. Geben Sie einen Namen und src für das Plug-in ein, damit RfWebUI das Plug-in identifizieren und abrufen kann.

Beispiel-Konfiguration

Die folgenden Beispielkonfigurationen können verwendet werden, um ein benutzerdefiniertes Plug-in hinzuzufügen, um der Citrix Gateway-Anmeldeseite eine Fußzeile hinzuzufügen.

  1. Erstellen Sie die JavaScript-Plug-In-Datei am Speicherort, /var/netscaler/logon/LogonPoint/plugins/ns-gateway/.
  2. Nennen Sie das Plug-in als ns-footer.js /var/netscaler/logon/LogonPoint/plugins/ns-gateway/ns-footer.js
  3. Fügen Sie dem registrierten Plug-in der RfWebUI den folgenden Code hinzu und fügen Sie in der Initialisierungsfunktion die Fußzeile zum Gateway hinzu.

    (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. Speichern Sie die Datei.
  5. Fügen Sie den Namen und src in der plugins.xml am Speicherort hinzu var/netscaler/logon/themes/<custom_theme>/plugins.xml.

    <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. Konfigurieren Sie das benutzerdefinierte Design, für das das Plug-in hinzugefügt wurde.
  7. Spülen Sie den Cache mithilfe des Befehls flush cache contentgroup loginstaticobjects.
  8. Laden Sie den Portalbildschirm neu. Die Fußzeile wird zur Citrix Gateway-Anmeldeseite hinzugefügt. Benutzerdefinierter Portalcode
Anpassung des Gateway-Portals mit benutzerdefinierten Plug-Ins