-
-
-
使用 nFactor 设置 cookie
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
使用 nFactor 设置 cookie
您可以应用 nFactor 自定义标签并将 cookie 设置为身份验证流程的一个因素。通过自定义标签,您可以使用 JavaScript 来操纵登录架构。
要将 cookie 设置为一个因素,您无需向用户显示任何信息,这是在无模式登录的情况下执行的。相反,您必须与用户的浏览器进行交互,以指示登录架构存储所需的数据。加载页面时需要登录架构才能设置 cookie。cookie 使用自定义标签和 JavaScript 代码进行设置。
要实现设置 cookie 的因素,请创建一个名为 cookie.xml 的 XML 文件,将架构存储在 /nsconfig/loginschema/ 目录中,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<AuthenticateResponse xmlns="http://citrix.com/authentication/response/1">
<Status>success</Status>
<Result>more-info</Result>
<StateContext></StateContext>
<AuthenticationRequirements>
<PostBack>/nf/auth/doAuthentication.do</PostBack>
<CancelPostBack>/nf/auth/doLogoff.do</CancelPostBack>
<CancelButtonText>Cancel</CancelButtonText>
<Requirements>
<Requirement>
<Credential><ID>nsg_cookie</ID><Type>nsg_cookie</Type></Credential>
<Label><Text>Logon Type:</Text><Type>Plain</Type></Label>
</Requirement>
<Requirement>
<Credential><ID>loginBtn</ID><Type>none</Type></Credential>
<Label><Type>none</Type></Label><Input><Button>Log On</Button></Input>
</Requirement>
</Requirements>
</AuthenticationRequirements>
</AuthenticateResponse>
<!--NeedCopy-->
在此 XML 中:
- 自定义标签 nsg_cookie 用于创建 cookie 并提交表单和表单按钮。
- RfWebUI_custom 是基于 RfWebUI 主题的新门户主题。
使用 nFactor 设置 cookie 的步骤
-
基于 RfWebUI 主题创建门户主题。
add vpn portaltheme RfWebUI_custom -basetheme RfWebUI <!--NeedCopy-->
此命令在 /var/netscaler/logon/themes/RfWebUI_custom 处为此主题创建一个文件夹
-
编辑文件 /var/netscaler/logon/themes/RfWebUI_custom/script.js 并添加以下脚本:
CTXS.ExtensionAPI.addCustomCredentialHandler({ // The name of the credential, must match the type returned by the server getCredentialTypeName: function () { return "nsg_cookie"; }, // Generate HTML for the custom credential getCredentialTypeMarkup: function (requirements) { var div = $("<div></div>"); $(document).ready(function() { //Set cookie valid for 1000 days var exdays = 1000; var d = new Date(); d.setTime(d.getTime() + (exdays\*24\*60\*60\*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = "NSC_COOKIE_NAME=CookieValue;" + expires + ";path=/"; //Submit form document.getElementById('loginBtn').click(); }); return div; } }); <!--NeedCopy-->
此代码执行以下操作:
- 等待浏览器完成加载页面
- 设置一个名为 NSC_COOKIE_NAME 的 cookie,其值为 CookieValue,有效期为 1000 天
- 自动提交表单。
cookie 已创建,用户无需与页面进行交互。
-
创建一个登录架构以绑定到表示设置的 cookie 因素的策略标签。
add authentication loginSchema Cookie_LS -authenticationSchema "/nsconfig/loginschema/cookie.xml" <!--NeedCopy-->
-
创建 NO_AUTHN 身份验证策略以绑定到表示设置的 cookie 因素的策略标签。
add authentication Policy NO_AUTHN_POL -rule TRUE -action NO_AUTHN <!--NeedCopy-->
此策略的评估始终为真,从而将用户移至下一个因素或完成身份验证流程。
-
将门户主题 RfWebUI_custom 绑定到 Citrix Gateway 虚拟服务器或 Citrix ADC AAA 虚拟服务器。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.