使用自定义插件进行网关门户定制

Last published : Oct 14, 2026
NetScaler Gateway RfWebUi 框架提供了添加自定义插件以定制其网关门户的功能。这些自定义插件可用于为网关添加大量功能,例如,如果您想在网关流程中添加一个全新的页面。对于其他用例,可以将代码添加到为网关主题提供的自定义脚本文件中的 /var/netscaler/logon/themes/<custom_theme>/script.js 位置。
注意:
NetScaler Gateway 仅支持为门户定制创建和使用自定义插件。NetScaler Gateway 不会根据客户要求创建或提供任何自定义插件。
  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);
    其中,
    name 是赋予插件的名称。它用作插件的标识符。
    initialize 将函数作为参数,用于初始化插件。
  3. 在 CTXS.ExtensionAPI.addPlugin() 函数中输入插件名称和初始化函数以注册插件。 添加的插件名称和位置必须注册到 /var/netscaler/logon/themes/<custom_theme>/plugins.xml 位置的 plugins.xml 文件中。
  4. 编写插件代码后,必须在 /var/netscaler/logon/themes/<custom_theme>/plugins.xml 位置的 plugins.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>
  5. 为插件输入名称和 src,以便 RFWebUI 可以识别并获取该插件。

示例配置

以下示例配置可用于添加自定义插件,以便为 NetScaler Gateway 登录页面添加页脚。
  1. 在 /var/netscaler/logon/LogonPoint/plugins/ns-gateway/. 位置创建 JavaScript 插件文件.
  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 () {

        // Add the footer for the login page
        $("#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>");

        // To Add the footer to the login timeout page
        $("#customAuthBottom").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);
  4. 保存文件。
  5. 在 var/netscaler/logon/themes/<custom_theme>/plugins.xml 位置的 plugins.xml 中添加名称和 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>
  6. 配置添加了插件的自定义主题。
  7. 使用命令 flush cache contentgroup loginstaticobjects 刷新缓存。
  8. 重新加载门户屏幕。 页脚已添加到 NetScaler Gateway 登录页面。 自定义门户代码