联合身份验证服务配置
联合身份验证服务(/zh-cn/federated-authentication-service/2402-ltsr) (FAS) 使用证书身份验证为 VDA 提供单点登录。当使用 SAML 等身份验证方法时,此功能非常有用,因为 StoreFront 无法访问 Active Directory 凭据。
为应用商店启用 FAS
在为应用商店启用 FAS 之前,您必须使用组策略配置 FAS 服务器列表。有关更多详细信息,请参阅 FAS 文档(/zh-cn/federated-authentication-service/current-release/install-configure#configure-group-policy)。
要为应用商店启用 FAS,您必须使用 PowerShell cmdlet Set-STFStoreLaunchOptions 将 VDA 登录数据登录提供程序设置为
FASLogonDataProvider。
默认情况下,StoreFront 在启动时选择 FAS 服务器。您可以更改此设置,以便 StoreFront 在登录时选择 FAS 服务器。这样做的好处是避免了启动时可能出现的延迟,尤其是在 FAS 服务器不可用时,它必须尝试多个 FAS 服务器。但是,它的缺点是,如果 FAS 服务器在登录和启动之间变得不可用,则启动会失败或回退到用户名和密码身份验证(请参阅 FAS 服务器不可用性(#fas-server-unavailability))。要配置此行为,请运行带参数
ClaimsFactoryName 的 PowerShell cmdlet Set-STFClaimsFactoryNames。要在登录时选择 FAS 服务器,请将其设置为 FASClaimsFactory。要恢复默认行为并在启动时选择 FAS 服务器,请将其设置为 standardClaimsFactory。
例如,要为应用商店启用 FAS 并在登录时选择服务器:
$store = Get-STFStoreService -VirtualPath [VirtualPath]
$auth = Get-STFAuthenticationService -StoreService $store
Set-STFStoreLaunchOptions -StoreService $store -VdaLogonDataProvider "FASLogonDataProvider"
Set-STFClaimsFactoryNames -AuthenticationService $auth -ClaimsFactoryName "FASClaimsFactory"
要为应用商店禁用 FAS:
$store = Get-STFStoreService -VirtualPath [VirtualPath]
$auth = Get-STFAuthenticationService -StoreService $store
Set-STFStoreLaunchOptions -StoreService $store -VdaLogonDataProvider ""
Set-STFClaimsFactoryNames -AuthenticationService $auth -ClaimsFactoryName "standardClaimsFactory"
将
[VirtualPath] 替换为相应的虚拟路径,例如 /Citrix/Store。
在启用了 FAS 的应用商店上使用用户名和密码身份验证(/zh-cn/storefront/current-release/stores/authentication/username-password.html)时,StoreFront 始终使用 FAS 而不是提供的凭据进行单点登录。
FAS 服务器不可用性
如果 FAS 服务器不可用,则启动默认会失败。但是,您可以配置 StoreFront,以便在 FAS 服务器不可用时,用户可以通过输入其凭据登录到 VDA。要更改配置,请使用带参数
FederatedAuthenticationServiceFailover 的 PowerShell cmdlet Set-STFStoreLaunchOptions。例如,要为应用商店启用故障转移:
$storeService = Get-STFStoreService -VirtualPath [VirtualPath]
Set-STFStoreLaunchOptions $storeService -FederatedAuthenticationServiceFailover $True