Active Directory 用户名和密码身份验证
系统会提示用户输入其 Active Directory 用户名和密码。
。
如果用户的密码已过期或即将过期,则根据配置,用户可能会获得更改密码的选项。
要在使用 Citrix Workspace app 时为某个应用商店启用或禁用用户名和密码身份验证,请在“身份验证方法”窗口中勾选或取消勾选“Active Directory 用户名和密码”。
默认情况下,为应用商店启用用户名和密码身份验证也会为使用 Web 浏览器的用户启用该应用商店的所有网站的用户名和密码身份验证。您可以在“[管理网站身份验证方法]”选项卡上禁用特定网站的用户名和密码身份验证。
配置受信任的用户域
您可以限制使用显式域凭据登录的用户对应用商店的访问,无论是直接登录还是使用 Citrix Gateway 的直通身份验证。
-
在 Citrix StoreFront 管理控制台的左窗格中选择“应用商店”节点,然后在结果窗格中选择相应的身份验证方法。在“操作”窗格中,单击“管理身份验证方法”。
-
从“用户名和密码 > 设置”列表中,选择“配置受信任域”。
-
选择“仅受信任域”,然后单击“添加”以输入受信任域的名称。在该域中拥有帐户的用户能够登录使用此身份验证服务的所有应用商店。要修改域名,请在“受信任域”列表中选择该条目,然后单击“编辑”。要停止用户帐户访问某个域中的应用商店,请在列表中选择该域,然后单击“删除”。
您指定域名的方式决定了用户必须输入其凭据的格式。如果您希望用户以域用户名格式输入其凭据,请将 NetBIOS 名称添加到列表中。要要求用户以用户主体名称格式输入其凭据,请将完全限定域名添加到列表中。如果您希望用户能够以域用户名格式和用户主体名称格式输入其凭据,则必须将 NetBIOS 名称和完全限定域名都添加到列表中。
-
如果配置了多个受信任域,请从“默认域”列表中选择用户登录时默认选择的域。
-
如果要在登录页面上列出受信任域,请勾选“在登录页面中显示域列表”复选框。

PowerShell
要获取已配置域的列表,请使用 cmdlet Get-STFExplicitCommonOptions。
要更新受信任域,请使用 cmdlet Set-STFExplicitCommonOptions。
允许用户更改其密码
您可以允许用户随时更改其密码。或者,您可以将密码更改限制为密码已过期的用户。这意味着您可以确保用户永远不会因密码过期而无法访问其桌面和应用程序。
更改密码功能在以下客户端中可用:
| Citrix Workspace app | 如果在 StoreFront 上启用,用户可以更改已过期的密码 | 用户会收到密码即将过期的通知 | 如果在 StoreFront 上启用,用户可以在密码过期前更改密码 |
|---|---|---|---|
| Windows | 是 | ||
| Mac | 是 | ||
| Android | |||
| iOS | |||
| Linux | 是 | ||
| Web | 是 | 是 | 是 |
默认配置会阻止 Citrix Workspace app 和 Web 浏览器用户更改其密码,即使密码已过期。如果您决定启用此功能,请确保包含您的服务器的域的策略不会阻止用户更改其密码。允许用户更改其密码会将敏感的安全功能暴露给任何可以访问使用身份验证服务的任何应用商店的人。如果您的组织有安全策略,规定用户密码更改功能仅供内部使用,请确保任何应用商店都无法从公司网络外部访问。
如果您允许用户随时更改其密码,则当本地用户登录时,如果其密码即将过期,系统会显示警告。默认情况下,用户的通知期限由适用的 Windows 策略设置决定。或者,您可以配置自定义通知期限。
-
在“管理身份验证方法”窗口中,从“Active Directory 用户名和密码 > 设置”下拉菜单中,选择“管理密码选项”。
-
要允许用户更改密码,请勾选“允许用户更改密码”复选框。
注意:
如果您未选择此选项,则必须自行安排支持因密码过期而无法访问其桌面和应用程序的用户。
-
选择是允许用户“仅在密码过期时”更改密码,还是“随时”更改密码。
-
选择是否在用户密码过期前提醒他们。您可以选择以下选项:

注意
注意 1:
确保您的 StoreFront 服务器上有足够的磁盘空间来存储所有用户的配置文件。要检查用户的密码是否即将过期,StoreFront 会在该服务器上为该用户创建本地配置文件。StoreFront 必须能够联系域控制器才能更改用户的密码。
注意 2:
如果您随时启用或禁用更改密码,这也会影响 Citrix Gateway 直通身份验证的“管理密码选项”下的设置。
PowerShell
要获取受信任域的列表,请使用 cmdlet Get-STFExplicitCommonOptions。
要更新受信任域,请使用 cmdlet Set-STFExplicitCommonOptions。
密码验证
通常,StoreFront 会要求 Windows 验证 Active Directory 中的凭据。这要求 Windows 服务器与用户位于同一域中,或者两个域之间存在信任关系。当无法建立 Active Directory 信任时,您可以配置 StoreFront 使用 Citrix Virtual Apps and Desktops 交付控制器来验证凭据。这也会影响 HTTP Basic 和 Gateway 直通身份验证。
要配置 StoreFront 验证密码的方式:
-
在“管理身份验证方法”窗口中,从“用户名和密码 > 设置”下拉菜单中,选择“配置密码验证”。

-
从“通过以下方式验证密码”下拉列表中,选择:
- Active Directory - 要求 Windows 验证 Active Directory 中的凭据
- 交付控制器 - 要求已配置的 Delivery Controller™ 验证凭据。

-
如果选择了“交付控制器”,则选择“配置”。在“配置交付控制器”屏幕中,添加一个或多个用于验证用户凭据的“交付控制器”,然后单击“确定”。

-
选择“确定”。
PowerShell
要获取密码验证方式,请使用 cmdlet Get-STFExplicitAuthenticator。
要通过交付控制器执行密码验证,请使用 cmdlet Set-STFExplicitAuthenticator 将验证器设置为 xmlServiceAuthenticator。要设置用于验证凭据的交付控制器,请使用 cmdlet Enable-STFXmlServiceAuthentication。
单点登录到 VDA
当用户启动资源时,StoreFront 会将用户用于登录应用商店的凭据直通到 VDA 以进行单点登录。
如果为应用商店启用了 联合身份验证服务 (FAS),则 StoreFront 会联系 FAS 服务器以提供证书,从而单点登录到应用商店。此证书将直通到 VDA,而不是凭据。如果 StoreFront 无法联系 FAS 服务器,则无法单点登录到 VDA。
自定义登录屏幕
登录屏幕是根据模板生成的,该模板通常位于 C:\inetpub\wwwroot\Citrix\[Store name]Auth\App_Data\Templates\UsernamePassword.tfrm。该模板使用 表单模板语言 定义。
以下示例添加了标题并阻止 Citrix Workspace app for Windows 缓存密码:
标题文本
当用户登录到应用商店时,默认情况下登录对话框上不显示标题文本。您可以显示文本“请登录”或编写自己的自定义消息:
-
使用文本编辑器打开身份验证服务的
UsernamePassword.tfrm文件。 -
在文件中找到以下行。
@* @Heading("ExplicitAuth:AuthenticateHeadingText") *@ <!--NeedCopy--> -
通过删除前导
@*和尾随*@来取消注释该语句。@Heading("ExplicitAuth:AuthenticateHeadingText") <!--NeedCopy-->当 Citrix Workspace app 用户登录到使用此身份验证服务的应用商店时,他们会看到默认标题文本“请登录”或此文本的相应本地化版本。
-
要修改标题文本,请使用文本编辑器打开身份验证服务的
ExplicitFormsCommon.xx.resx文件,该文件通常位于C:\inetpub\wwwroot\Citrix\[Store name]Auth\App_Data\resources\目录中。 -
在文件中找到以下元素。编辑
<value>元素中包含的文本,以修改用户访问使用此身份验证服务的应用商店时在登录对话框上看到的标题文本。<data name="AuthenticateHeadingText" xml:space="preserve"> <value>My Company Name</value> </data> <!--NeedCopy-->要修改其他区域设置中用户的登录对话框标题文本,请编辑本地化文件 ExplicitAuth.languagecode.resx,其中 languagecode 是区域设置标识符。
阻止 Citrix Workspace app for Windows 缓存密码和用户名
默认情况下,Citrix Workspace app for Windows 在用户登录到 StoreFront 应用商店时存储用户的密码。要阻止 Citrix Workspace app for Windows 缓存用户的密码,请编辑身份验证服务的文件。
-
使用文本编辑器打开文件 inetpub\wwwroot\Citrix\[Store name]Auth\App_Data\Templates\UsernamePassword.tfrm。
-
在文件中找到以下行。
@SaveCredential(id: @GetTextValue("saveCredentialsId"), labelKey: "ExplicitFormsCommon:SaveCredentialsLabel", initiallyChecked: ControlValue("SaveCredentials")) <!--NeedCopy--> -
按如下所示注释该语句。
<!-- @SaveCredential(id: @GetTextValue("saveCredentialsId"), labelKey: "ExplicitFormsCommon:SaveCredentialsLabel", initiallyChecked: ControlValue("SaveCredentials")) --> <!--NeedCopy-->用户每次登录到使用此身份验证服务的应用商店时都必须输入其密码。
默认情况下,Citrix Workspace app for Windows 会自动填充上次输入的用户名。要禁止填充用户名字段,或了解禁止缓存密码的替代机制,请参阅 阻止 Citrix Workspace app for Windows 缓存密码和用户名。
通过 Citrix Gateway 进行远程访问
您可以配置 Citrix Gateway,以便用户使用其域用户名和密码(以及可选的第二个因素)登录到网关。这些凭据将直通到 StoreFront 以登录到应用商店。要为 LDAP 用户名和密码身份验证配置 Citrix Gateway,请参阅 NetScaler 文档 - LDAP 身份验证。要配置 StoreFront,请参阅 Citrix Gateway 直通。