Gateway

使用自定义插件自定义网关门户

Citrix Gateway RfWebUi 框架提供了添加自定义插件以自定义其网关门户的功能。这些自定义插件可用于向网关添加大型功能,例如,如果您想在网关流中添加一个全新的页面。对于其他用例,可以将代码添加到位置/var/netscaler/logon/themes/<custom_theme>/script.js 为网关主题提供的自定义脚本文件中。

  1. 要添加自定义插件,请在该位置创建 JavaScript 文件 /var/netscaler/logon/LogonPoint/plugins/ns-gateway/。例如,您可以在中找到以下插件 /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() 函数以注册插件。 添加的插件名称和位置必须注册到该位置的 plugins.xml 文件中 /var/netscaler/logon/themes/<custom_theme>/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>
    <!--NeedCopy-->
    
  5. 输入插件的名称和 src,以便 RfWebUI 可以识别和获取插件。

示例配置

以下示例配置可用于添加自定义插件,以向 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 中添加名称和 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 登录页面中。

    自定义门户代码

使用自定义插件自定义网关门户