配置 Citrix Gateway 和 StoreFront 以进行委派表单身份验证 (DFA)
可扩展身份验证为扩展 Citrix Gateway 和 StoreFront 的基于表单的身份验证提供了一个单一的自定义点。要使用可扩展身份验证 SDK 实现身份验证解决方案,您必须在 Citrix Gateway 和 StoreFront 之间配置委派表单身份验证 (DFA)。委派表单身份验证协议允许将身份验证表单的生成和处理(包括凭据验证)委派给另一个组件。例如,Citrix Gateway 将其身份验证委派给 StoreFront,然后 StoreFront 与第三方身份验证服务器或服务进行交互。
有关在 Citrix Gateway 上配置委派表单身份验证的说明,请参阅 CTX200383。
安装建议
- 为确保 Citrix Gateway 和 StoreFront 之间的通信受到保护,请使用 HTTPS 而非 HTTP 协议。
- 对于群集部署,请确保在配置步骤之前,所有节点都已安装相同的服务器证书并在 IIS HTTPS 绑定中进行配置。
- 当 StoreFront 中配置了 HTTPS 时,请确保 Citrix Gateway 将 StoreFront 服务器证书的颁发者作为受信任的证书颁发机构。
StoreFront 群集安装注意事项
- 在将所有节点连接在一起之前,请在所有节点上安装第三方身份验证插件。
- 在一个节点上配置所有与委派表单身份验证相关的设置,并将更改传播到其他节点。请参阅“启用委派表单身份验证”。
启用委派表单身份验证
由于 StoreFront 中没有用于设置 Citrix 预共享密钥设置的 GUI,因此请使用 PowerShell 控制台安装委派表单身份验证。
-
安装委派表单身份验证。默认情况下未安装,您需要使用 PowerShell 控制台进行安装。
PS C:\Users\administrator.PTD.000> cd 'C:\Program Files\Citrix\Receiver StoreFront\Scripts' PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> & .\ImportModules.ps1 Adding snapins Importing modules Loading 'C:\Program Files\Citrix\Receiver StoreFront\Admin\Citrix.DeliveryServices.ConfigurationProvider.dll' Loading 'C:\Program Files\Citrix\Receiver StoreFront\Admin\Citrix.DeliveryServices.ConfigurationProvider.dll' PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> Install-DSDFAServer Id : bf694fbc-ae0a-4d56-8749-c945559e897a ClassType : e1eb3668-9c1c-4ad8-bbae-c08b2682c1bc FrameworkController : Citrix.DeliveryServices.Framework.FileBased.FrameworkController ParentInstance : 8dd182c7-f970-466c-ad4c-27a5980f716c RootInstance : 5d0cdc75-1dee-4df7-8069-7375d79634b3 TenantId : 860e9401-39c8-4f2c-928d-34251102b840 Data : {} ReadOnlyData : {[Name, DelegatedFormsServer], [Cmdlet, Add-DSWebFeature], [Snapin, Citrix.DeliverySer vices.Web.Commands], [Tenant, 860e9401-39c8-4f2c-928d-34251102b840]} ParameterData : {[FeatureClassId, e1eb3668-9c1c-4ad8-bbae-c08b2682c1bc], [ParentInstanceId, 8dd182c7-f 970-466c-ad4c-27a5980f716c], [TenantId, 860e9401-39c8-4f2c-928d-34251102b840]} AdditionalInstanceDependencies : {b1e48ef0-b9e5-4697-af9b-0910062aa2a3} IsDeployed : True FeatureClass : Citrix.DeliveryServices.Framework.Feature.FeatureClass <!--NeedCopy--> -
添加 Citrix 受信任客户端。配置 StoreFront 和 Citrix Gateway 之间的共享密钥(密码)。您的密码和客户端 ID 必须与您在 Citrix Gateway 上配置的相同。
PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> Add-DSCitrixPSKTrustedClient -clientId netscaler.fqdn.com -passphrase secret <!--NeedCopy--> -
将委派表单身份验证对话工厂设置为将所有流量路由到自定义表单。要查找对话工厂,请在 C:\inetpub\wwwroot\Citrix\Authentication\web.config 中查找 ConversationFactory。以下是您可能会看到的一个示例。
<example connectorURL="http://Example.connector.url:8080/adapters-sf-aaconnector-webapp"> <routeTable order="1000"> <routes> <route name="StartExampleAuthentication" url="Example-Bridge-Forms/Start"> <defaults> <add param="controller" value="ExplicitFormsAuthentication" /> <add param="action" value="AuthenticateStart" /> <add param="postbackAction" value="Authenticate" /> <add param="cancelAction" value="CancelAuthenticate" /> <add param="conversationFactory" value="ExampleBridgeAuthentication" /> <add param="changePasswordAction" value="StartChangePassword" /> <add param="changePasswordController" value="ChangePassword" /> <add param="protocol" value="CustomForms" /> </defaults> </route> <!--NeedCopy--> -
在 PowerShell 中,设置委派表单身份验证对话工厂。在此示例中,设置为 ExampleBridgeAuthentication。
PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> Set-DSDFAProperty -ConversationFactory ExampleBridgeAuthentication <!--NeedCopy-->
PowerShell 参数不区分大小写:-ConversationFactory 与 -conversationfactory 相同。
卸载 StoreFront
在卸载 StoreFront 之前,请卸载任何第三方身份验证插件,因为它会影响 StoreFront 的功能。