为 Citrix ADC 和 StoreFront 配置委派表单身份验证 (DFA)
可扩展的身份验证为扩展基于 Citrix ADC 设备的表单和基于 StoreFront 的表单的身份验证提供了单个自定义点。要使用可扩展的身份验证 SDK 获得身份验证解决方案,必须在 Citrix ADC 设备与 StoreFront 之间配置委派表单身份验证 (DFA)。委派表单身份验证协议允许生成和处理要委派给另一组件的身份验证表单,包括凭据验证。例如,Citrix Gateway 将其身份验证委派给 StoreFront,StoreFront 再与第三方身份验证服务器或服务进行交互。
在 Citrix Gateway 上配置委派表单身份验证在 CTX200383 中进行介绍。
安装建议
- 要确保 Citrix ADC 设备与 StoreFront 之间的通信受到保护,请使用 HTTPS 代替 HTTP 协议。
- 对于群集部署,请确保在执行配置步骤之前,所有节点均已在 IIS HTTPS 绑定中安装和配置相同的服务器证书。
- 确保在 StoreFront 中配置 HTTPS 后,Citrix ADC 设备将 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 ADC 设备之间的共享秘密密钥(密码)。您的密码和客户端 ID 必须与在 Citrix ADC 设备中配置的相同。
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 的功能。