Citrix ADC

自助服务密码重置

自助服务密码重置是一种基于 Web 的密码管理解决方案。它在 Citrix ADC 设备和 Citrix Gateway 的身份验证、授权和审核功能中均可用。它消除了用户需要管理员帮助更改密码的依赖性。

自助服务密码重置使最终用户能够在以下情况下安全地重置或创建密码:

  • 用户忘记了密码。
  • 用户无法登录。

到目前为止,如果最终用户忘记了 AD 密码,最终用户必须联系 AD 管理员重置密码。有了自助服务密码重置功能,最终用户就可以自己重置密码,而无需管理员介入。

以下是使用自助服务密码重置的一些好处:

  • 通过自动更改密码机制提高了工作效率,从而消除了用户等待密码重置所需的时间。
  • 借助自动更改密码机制,管理员可以专注于处理其他重要任务。

下图说明了重置密码的自助服务密码重置流程。

本地化后的图片

要使用自助服务密码重置,必须向 Citrix 身份验证、授权和审核或 Citrix Gateway 虚拟服务器注册用户。

自助服务密码重置提供以下功能:

  • 新用户自助注册。您可以自行注册为新用户。
  • 配置基于知识的问题。作为管理员,您可以为用户配置一组问题。
  • 备用电子邮件 ID 注册。注册时必须提供备用电子邮件 ID。OTP 已发送到备用电子邮件 ID,因为用户忘记了主要电子邮件 ID 密码。

    注意 : 从版本 12.1 的内部版本 51.xx 开始,可以单独注册备用电子邮件 ID。我们引入了一种新的登录架构 AltEmailRegister.xml ,可用于仅进行备用电子邮件 ID 注册。以前,只能在注册 KBA 时进行备用电子邮件 ID 注册。

  • 重置忘记的密码。用户可以通过回答基于知识的问题来重置密码。作为管理员,您可以配置和存储问题。

自助服务密码重置提供以下两种新的身份验证机制:

  • 基于知识的问题和答案。在选择基于知识的问题和答案架构之前,您必须注册到 Citrix 身份验证、授权和审核或注册到 Citrix Gateway。

  • 电子邮件 OTP 身份验证。OTP 将发送到备用电子邮件 ID,该 ID 是用户在注册自助服务密码重置期间注册的。

注意

这些身份验证机制可用于自助服务密码重置用例,也可用于所有类似任一现有身份验证机制的身份验证目的。

必备条件

在配置自助服务密码重置之前,请查看以下先决条件:

  • Citrix ADC 功能版本为 12.1,内部版本为 50.28。
  • 支持的版本为 2016、2012 和 2008 AD 域功能级别。
  • 绑定到 Citrix ADC 的 ldapBind 用户名需要对用户 AD 路径具有写入权限。

    注意

    仅 nFactor 身份验证流程支持自助服务密码重置。有关更多信息,请参阅 通过 Citrix ADC 进行 nFactor 身份验证

限制

以下是自助服务密码重置存在的一些限制:

  • 仅当身份验证后端为 LDAP 时,自助服务密码重置才可用。
  • 用户无法看到已注册的备用电子邮件 ID。
  • 基于知识的问题和答案以及电子邮件 OTP 身份验证与注册不是身份验证流程的首要因素。
  • 对于本机插件和 Receiver,仅支持通过浏览器进行注册。
  • 用于自助服务密码重置的最小证书大小为 1024 字节,且必须遵循 x.509 标准。

Active Directory 设置

Citrix ADC 基于知识的问题和答案以及电子邮件 OTP 将使用 AD 属性来存储用户数据。您必须配置 AD 属性来存储问题和答案以及备用电子邮件 ID。Citrix ADC 设备将其存储在 AD 用户对象中的已配置 KB 属性中。配置 AD 属性时,请注意以下事项:

  • 属性长度必须至少为 128 个字符。
  • AD 属性支持的最大长度值必须为 32K。
  • 属性类型必须为“DirectoryString”。
  • 单个 AD 属性可用于基于知识的问题和答案以及备用电子邮件 ID。
  • 单个 AD 属性不能用于本机 OTP 和基于知识的问题和答案或备用电子邮件 ID 注册。
  • Citrix ADC LDAP 管理员必须对所选 AD 属性具有写入权限。

此外,您还可以使用现有的 AD 属性。但是,请确保您计划使用的属性未作他用。例如,userParameters 是您可以使用的 AD 用户中的现有属性。要验证此属性,请执行以下步骤:

  1. 导航到 ADSI > 选择用户
  2. 右键单击并向下滚动到属性列表。
  3. CN=testuser 属性窗口窗格中,您可以看到未设置 userParameters 属性。

本地化后的图片

自助服务密码重置注册

要在 Citrix ADC 设备上实施自助服务密码重置解决方案,必须执行以下操作:

  • 注册自助服务密码重置(基于知识的问题和答案/电子邮件 ID)。
  • 用户登录页面(用于密码重置,包括基于知识的问题和答案、电子邮件 OTP 验证和最终密码重置因素)。

提供的一组预定义问题目录将作为 JSON 文件。作为管理员,您可以选择问题并通过 Citrix ADC GUI 创建自助服务密码重置注册登录架构。您可以选择以下任一选项:

  • 最多选择四个系统定义的问题。
  • 为用户提供用于自定义两个问题和答案的选项。

从 CLI 查看基于知识的问题的默认 JSON 文件

本地化后的图片

注意

  • 默认情况下,Citrix Gateway 包含一组系统定义的问题。管理员可以编辑“KBQuestions.json”文件以包含他们选择的问题。

  • 系统定义的问题仅以英语显示,无法为这些问题提供语言本地化支持。

使用 GUI 完成基于知识的问题和答案注册登录架构

  1. 导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Login Schema(登录架构)

    本地化后的图片

  2. Login Schema(登录架构)页面上,单击 Profiles(配置文件)。
  3. 单击 Add KBA Registration Login Schema(添加 KBA 注册登录架构)。
  4. Create Authentication Login Schema(创建身份验证登录架构)页面上的 Schema Name(架构名称)字段中,指定一个名称 。

    本地化后的图片

    本地化后的图片

  5. 选择选定的问题并将其移动到 Configured(已配置)列表中。

  6. User Defined Questions(用户定义的问题)部分中,您可以在 Q1 和 A1 字段中提供问题和答案。

    本地化后的图片

  7. Email Registration(电子邮件注册)部分中,选中 Register Alternate Email(注册备用电子邮件)选项。您可以从用户注册登录页面注册备用电子邮件 ID 以接收 OTP。

    本地化后的图片

  8. 单击创建。生成登录架构后,将在注册过程中向最终用户显示所有已配置的问题。

使用 CLI 创建用户注册和管理工作流程

在开始配置之前,需要提供以下信息:

  • 分配给身份验证虚拟服务器的 IP 地址
  • 与已分配的 IP 地址对应的 FQDN
  • 身份验证虚拟服务器的服务器证书

要设置设备注册和管理页面,需要使用身份验证虚拟服务器。下图说明了用户注册情况。

本地化后的图片

创建身份验证虚拟服务器

  1. 配置身份验证虚拟服务器。该服务器必须为 SSL 类型,并确保将身份验证虚拟服务器与门户主题绑定在一起。

    > add authentication vserver <vServerName> SSL <ipaddress> <port>
    > bind authentication vserver <vServerName> [-portaltheme<string>]
    
  2. 绑定 SSL 虚拟服务器证书密钥对。

    > bind ssl vserver <vServerName> certkeyName <string>
    

    示例:

    > add authentication vserver authvs SSL 1.2.3.4 443
    > bind authentication vserver authvs -portaltheme RFWebUI
    > bind ssl vserver authvs -certkeyname c1
    

创建 LDAP 登录操作

    > add authentication ldapAction <name> {-serverIP <ipaddr|ipv6_addr|> [-serverPort <port>] [-ldapBase <BASE> ] [-ldapBindDn <AD USER>] [-ldapBindDnPassword <PASSWORD>] [-ldapLoginName <USER FORMAT>]

注意

您可以将任何身份验证策略配置为首要因素。

例如

    > add authentication ldapAction ldap_logon_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName samAccountName -serverport 636 -sectype SSL -KBAttribute userParameters

为 LDAP 登录创建身份验证策略

    > add authentication policy <name> <rule> [<reqAction]

例如

    > add authentication policy ldap_logon -rule true -action ldap_logon_action

创建基于知识的问答注册操作

ldapaction 中引入了两个新参数。用于 KBA 身份验证(注册和验证)的“KBAttribute”和用于注册用户的备用电子邮件 ID 的“alternateEmailAttr”。

    > add authentication ldapAction <name> {-serverIP  <ipaddr|ipv6_addr|> [-serverPort <port>] [-ldapBase <BASE> ] [-ldapBindDn <AD USER>] [-ldapBindDnPassword <PASSWORD>] [-ldapLoginName <USER FORMAT>] [-KBAttribute <LDAP ATTRIBUTE>] [-alternateEmailAttr <LDAP ATTRIBUTE>]

例如

    > add authentication ldapAction ldap1 -serverIP 1.2.3.4 -sectype ssl -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName samAccountName -KBAttribute userParameters -alternateEmailAttr userParameters

显示用户注册和管理屏幕

“KBARegistrationSchema.xml”登录架构用于向最终用户显示用户注册页面。使用以下 CLI 显示登录架构。

> add authentication loginSchema <name> -authenticationSchema <string>

例如

> add authentication loginSchema kba_register -authenticationSchema /nsconfig/loginschema/LoginSchema/KBARegistrationSchema.xml

Citrix 建议使用两种显示用户注册和管理屏幕的方法:URL 或 LDAP 属性。

使用网址

如果 URL 路径包含“/register”(例如 https://lb1.server.com/register),则将使用 URL 显示用户注册页面。

创建和绑定注册策略

> add authentication policylabel user_registration -loginSchema kba_register
> add authentication policy ldap1 -rule true -action ldap1
> bind authentication policylabel user_registration -policy ldap1 -priority 1

当 URL 包含“/register”时,将身份验证策略绑定到身份验证、授权和审核虚拟服务器

> add authentication policy ldap_logon -rule "http.req.cookie.value(\"NSC_TASS\").contains(\"register\")" -action ldap_logon
> bind authentication vserver authvs -policy ldap_logon -nextfactor user_registration -priority 1

将证书全局绑定到 VPN

bind vpn global -userDataEncryptionKey c1

注意

您必须绑定证书才能对存储在 AD 属性中的用户数据(KB Q&A 和已注册的备用电子邮件 ID)加密。

使用属性

您可以将身份验证策略绑定到身份验证、授权和审核虚拟服务器,以检查用户是否已注册。在此流程中,在基于知识的问答注册因子之前的任何前述策略都必须是配置了 KBA 属性的 LDAP。这是为了使用 AD 属性来检查是否已注册 AD 用户。

重要

规则“AAA.USER.ATTRIBUTE(“kba_registered”).EQ(“0”)”会强制新用户注册基于知识的问题和答案及备用电子邮件。

创建身份验证策略以检查用户是否尚未注册

> add authentication policy switch_to_kba_register -rule "AAA.USER.ATTRIBUTE(\"kba_registered\").EQ(\"0\")" -action NO_AUTHN
> add authentication policy first_time_login_forced_kba_registration -rule true -action ldap1

创建注册策略标签并绑定到 LDAP 注册策略

> add authentication policylabel auth_or_switch_register -loginSchema LSCHEMA_INT
> add authentication policylabel kba_registration -loginSchema kba_register

> bind authentication policylabel auth_or_switch_register -policy switch_to_kba_register -priority 1 -nextFactor kba_registration
> bind authentication policylabel kba_registration -policy first_time_login_forced_kba_registration -priority 1

将身份验证策略绑定到身份验证、授权和审核虚拟服务器

bind authentication vserver authvs -policy ldap_logon -nextfactor auth_or_switch_register -priority 2

用户注册和管理验证

配置完前面各部分中提到的所有步骤后,您应该会看到如下所示的 UI 屏幕截图。

  1. 输入 lb 虚拟服务器 URL;例如 https://lb1.server.com。此时将显示登录屏幕。

    本地化后的图片

  2. 输入用户名和密码。单击 Submit(提交)。此时将显示用户注册屏幕。

    本地化后的图片

  3. 从下拉列表中选择首选问题,然后输入答案
  4. 单击 Submit(提交)。此时将显示用户注册成功屏幕。

配置用户登录页面

在此示例中,管理员假定首要因素是 LDAP 登录(最终用户已忘记登录密码)。然后,用户遵循基于知识的问题和答案注册以及电子邮件 ID OTP 验证,最后使用自助服务密码重置来重置密码。

您可以使用任何身份验证机制进行自助服务密码重置。Citrix 建议您使用基于知识的问题和答案以及/或电子邮件 OTP 提高隐私性,并避免任何非法重置用户密码的行为。

在开始配置用户登录页面之前,必须执行以下操作:

  • 负载平衡器虚拟服务器的 IP
  • 负载平衡器虚拟服务器的对应 FQDN
  • 负载平衡器的服务器证书

使用 CLI 创建负载平衡器虚拟服务器

要访问内部 Web 站点,您必须在后端服务前面创建一个 LB 虚拟服务器,并将身份验证逻辑委派给身份验证虚拟服务器。

> add lb vserver lb1 SSL 1.2.3.162 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost otpauth.server.com -Authentication ON -authnVsName authvs

> bind ssl vserver lb1 -certkeyname c1

要在负载平衡中表示后端服务,请执行以下操作:

> add service iis_backendsso_server_com 1.2.3.4 HTTP 80

> bind lb vserver lb1 iis_backendsso_server_com

创建禁止将身份验证作为第一个策略的 LDAP 操作

> add authentication ldapAction ldap3 -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName samAccountName -authentication disabled

> add authentication policy ldap3 -rule aaa.LOGIN.VALUE("passwdreset").EQ("1") -action ldap3

创建基于知识的问题和答案验证操作

对于自助服务密码重置流程中基于知识的问题和答案验证,您需要在禁用身份验证的情况下配置 LDAP 服务器。

> add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> -serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWORD> -ldapLoginName <USER FORMAT> -KBAttribute  <LDAP ATTRIBUTE> - alternateEmailAttr <LDAP ATTRIBUTE> -authentication DISABLED

例如

> add authentication ldapAction ldap2 -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName samAccountName -KBAttribute userParameters -alternateEmailAttr userParameters -authentication disabled

使用 CLI 为基于知识的问题和答案验证创建身份验证策略

add authentication policy kba_validation -rule true -action ldap2

创建电子邮件验证操作

LDAP 必须是电子邮件验证的首要因素,因为您需要在自助服务密码重置注册过程中使用用户的电子邮件 ID 或备用电子邮件 ID。

注意:

要使电子邮件 OTP 解决方案生效,请确保在 SMTP 服务器上启用基于登录的身份验证。

要确保启用基于登录的身份验证,请在 SMTP 服务器上键入以下命令。如果启用了基于登录的身份验证,您将注意到文本 AUTH LOGIN 以粗体格式显示在输出中。

root@ns# telnet <IP address of the SMTP server><Port number of the server>
ehlo

示例:

root@ns# telnet 10.106.3.66 25
Trying 10.106.3.66...
Connected to 10.106.3.66.
Escape character is '^]'.
220 E2K13.NSGSanity.com Microsoft ESMTP MAIL Service ready at Fri, 22 Nov 2019 16:24:17 +0530
ehlo
250-E2K13.NSGSanity.com Hello [10.221.41.151]
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH LOGIN
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 XRDST

有关如何启用基于登录的身份验证的信息,请参阅 https://support.microfocus.com/kb/doc.php?id=7020367

使用 CLI 配置电子邮件操作

add authentication emailAction emailact -userName sender@example.com -password <Password> -serverURL "smtps://smtp.example.com:25" -content "OTP is $code"

示例:

add authentication emailAction email -userName testmail@gmail.com -password 298a34b1a1b7626cd5902bbb416d04076e5ac4f357532e949db94c0534832670 -encrypted -encryptmethod ENCMTHD_3 -serverURL "smtps://10.19.164.57:25" -content "OTP is $code" -emailAddress "aaa.user.attribute(\"alternate_mail\")"

注意

配置中的“emailAddress”参数是 PI 表达式。因此,此参数配置用于从会话中获取默认用户电子邮件 ID 或已注册的备用电子邮件 ID。

使用 GUI 配置电子邮件 ID

  1. 导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量) > Policies(策略)> Authentication(身份验证)> Advanced Policies(高级策略)> Actions(操作)> Authentication Email Action(身份验证电子邮件操作)。单击添加
  2. Create Authentication Email Action(创建身份验证电子邮件操作)页面上,填写详细信息,然后单击 Create(创建)。

    本地化后的图片

使用 CLI 创建用于验证电子邮件的身份验证策略

add authentication policy email_validation -rule true -action email

为密码重置因素创建身份验证策略

add authentication policy ldap_pwd -rule true -action ldap_logon_action

通过登录架构呈现 UI

自助服务密码重置有三个登录架构可用于重置密码。请使用以下 CLI 命令查看这三个登录架构:

root@ns# cd  /nsconfig/loginschema/LoginSchema/
root@ns# ls -ltr | grep -i password
-r--r--r--  1 nobody  wheel  2088 Nov 13 08:38 SingleAuthPasswordResetRem.xml
-r--r--r--  1 nobody  wheel  1541 Nov 13 08:38 OnlyUsernamePasswordReset.xml
-r--r--r--  1 nobody  wheel  1391 Nov 13 08:38 OnlyPassword.xml

使用 CLI 创建单个身份验证密码重置

> add authentication loginSchema lschema_password_reset -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuthPasswordResetRem.xml"

> add authentication loginSchemaPolicy lpol_password_reset -rule true -action lschema_password_reset

通过策略标签创建基于知识的问题和答案及电子邮件 OTP 验证因素

如果第一个因素是 LDAP 登录,则可以使用以下命令为下一个因素创建基于知识的问题和答案以及电子邮件 OTP 策略标签。

> add authentication loginSchema lschema_noschema -authenticationSchema noschema

> add authentication policylabel kba_validation -loginSchema lschema_noschema

> add authentication policylabel email_validation -loginSchema lschema_noschema

通过策略标签创建密码重置因素

您可以使用以下命令通过策略标签来创建密码重置因素。

> add authentication loginSchema lschema_noschema -authenticationSchema noschema

> add authentication policylabel password_reset -loginSchema lschema_noschema

> bind authentication policylabel password_reset -policyName ldap_pwd -priority 10 -gotoPriorityExpression NEXT

使用以下命令将基于知识的问题和答案及电子邮件策略绑定到先前创建的策略。

> bind authentication policylabel email_validation -policyName email_validation -nextfactor password_reset -priority 10 -gotoPriorityExpression NEXT

> bind authentication policylabel kba_validation -policyName kba_validation -nextfactor email_validation -priority 10 -gotoPriorityExpression NEXT

绑定流

您必须在用于登录 LDAP 的身份验证策略下创建 LDAP 登录流。在此流中,用户会单击在第一个 LDAP 登录页面上显示的忘记密码链接,然后依次单击 KBA 验证、OTP 验证,最后单击密码重置页面。

bind authentication vserver authvs -policy ldap3 -nextfactor kba_validation -priority 10 -gotoPriorityExpression NEXT

绑定所有 UI 流

bind authentication vserver authvs -policy lpol_password_reset -priority 20 -gotoPriorityExpression END

用于重置密码的用户登录工作流程

如果用户需要重置密码,请遵循以下用户登录工作流程:

  1. 输入 lb 虚拟服务器 URL;例如 https://lb1.server.com。此时将显示登录屏幕。

    本地化后的图片

  2. 单击忘记密码。在针对 AD 用户注册的最多六个问题和答案中,验证屏幕将显示其中两个问题。

    本地化后的图片

  3. 回答问题,然后单击登录。此时将显示电子邮件 OTP“验证”屏幕,您必须在其中输入通过已注册的备用电子邮件 ID 收到的 OTP。

    本地化后的图片

  4. 输入电子邮件 OTP。电子邮件 OTP 验证成功后,将显示密码重置页面。

    本地化后的图片

  5. 输入一个新密码并确认该新密码。单击 Submit(提交)。密码重置成功后,将显示密码重置成功屏幕。

    本地化后的图片

您现在可以使用重置密码进行登录。

故障排除

Citrix 提供了一个选项来解决使用自助服务密码重置时可能会遇到的一些基本问题。以下部分将帮助您解决可能会在特定区域中出现的一些问题。

NS 日志

在分析该日志之前,建议使用以下命令将日志级别设置为调试:

> set syslogparams -loglevel DEBUG

注册

以下消息表示已成功注册用户。

"ns_aaa_insert_hash_keyValue_entry key:kba_registered value:1"
Nov 14 23:35:51 <local0.debug> 10.102.229.76 11/14/2018:18:05:51 GMT  0-PPE-1 : default SSLVPN Message 1588 0 :  "ns_aaa_insert_hash_keyValue_entry key:alternate_mail value:eyJ2ZXJzaW9uIjoiMSIsICJraWQiOiIxbk1oWjN0T2NjLVVvZUx6NDRwZFhxdS01dTA9IiwgImtleSI6IlNiYW9OVlhKNFhUQThKV2dDcmJSV3pxQzRES3QzMWxINUYxQ0tySUpXd0h4SFRIdVlWZjBRRTJtM0ZiYy1RZmlQc0tMeVN2UHpleGlJc2hmVHZBcGVMZjY5dU5iYkYtYXplQzJMTFF1M3JINFVEbzJaSjdhN1pXUFhqbUVrWGdsbjdUYzZ0QWtqWHdQVUI3bE1FYVNpeXhNN1dsRkZXeWtNOVVnOGpPQVdxaz0iLCAiaXYiOiI4RmY3bGRQVzVKLVVEbHV4IiwgImFsZyI6IkFFUzI1Nl9HQ00ifQ==.oKmvOalaOJ3a9z7BcGCSegNPMw=="

基于知识的问题和答案验证

以下消息表示已成功验证基于知识的问题和答案。

"NFactor: Successfully completed KBA Validation, nextfactor is email"

电子邮件 ID 验证

以下消息表示已成功重置密码。

"NFactor: Successfully completed email auth, nextfactor is pwd_reset"

使用 nFactor 可视化工具配置 SSPR

在开始配置 SSPR 之前,我们需要添加以下 LDAP 服务器:

  1. 启用了身份验证的标准 LDAP 服务器,用于对用户进行身份验证和指定 AD 属性。

    本地化后的图片

    本地化后的图片

  2. 用于在未启用身份验证的情况下提取用户参数的 LDAP 服务器。

    本地化后的图片

  3. 用于在未启用身份验证的情况下通过 SSL 重置密码的 LDAP 服务器。此外,还需要在此服务器中定义用于存储用户详细信息的 AD 属性。

    本地化后的图片

    本地化后的图片

  4. 用于在已启用身份验证的情况下注册用户并指定 AD 属性的 LDAP 服务器

    本地化后的图片

    本地化后的图片

  5. 完整的流如下所示:

    本地化后的图片

  6. 使用以下 CLI 命令全局绑定证书:

    bind vpn global -userDataEncryptionKey Wildcard
    

由于已添加 LDAP 服务器,可以使用可视化工具继续进行 nFactor 配置

  1. 导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> nFactor Visualizer(nFactor 可视化工具)> nFactor Flows(nFactor 流),单击 Add(添加),然后单击该框内的加号图标。

    本地化后的图片

  2. 为流指定名称。

    本地化后的图片

  3. 单击添加架构,这将作为默认架构。单击登录架构页面上的添加

    本地化后的图片

  4. 为该架构指定名称后,选择该架构,如下所示。单击右上角的选择以选择架构。

    本地化后的图片

  5. 单击创建确定

添加默认架构后,我们必须配置以下三个流:

  • 用户注册:用于显式注册用户
  • 密码重置:用于重置密码
  • 普通登录 + 注册用户检查:如果用户已注册并输入了正确的密码,则用户将成功登录。如果用户未注册,则将用户带到注册页面。

用户注册

接下来我们将从添加架构后离开的位置继续。

  1. 单击添加策略,这将检查用户是否正在尝试进行显式注册。

    本地化后的图片

    本地化后的图片

  2. 单击创建,然后单击添加

  3. 单击突出显示的绿色“+”图标,以将下一个身份验证因素添加到用户注册流中。

    本地化后的图片

    本地化后的图片

  4. 单击创建

  5. 为 User-Registration-1 因素单击添加策略

    本地化后的图片

  6. 创建身份验证策略。此策略将提取用户信息并在将其重定向到注册页面之前对其进行验证。

    本地化后的图片

  7. 单击创建,然后单击添加

  8. 现在单击绿色的“+”图标为用户注册创建另一个因素,然后单击创建。单击添加架构

    本地化后的图片

    本地化后的图片

  9. 创建以下架构。

    本地化后的图片

  10. 单击添加策略并创建以下身份验证策略。

    本地化后的图片

  11. 单击 Create(创建),然后单击 Add(添加)。

密码重置

  1. 单击蓝色“+”图标为父 SSPR 因素添加另一个策略(密码重置流)。

    本地化后的图片

  2. 单击添加并创建以下身份验证策略。如果用户单击登录页面上的“忘记密码”,将触发此策略。

    本地化后的图片

  3. 单击 Create(创建),然后单击 Add(添加)。

  4. 为密码重置身份验证策略单击绿色“+”图标以添加另一个因素。

    本地化后的图片

    本地化后的图片

  5. 单击创建

  6. 单击添加策略为上面创建的因素创建身份验证策略。此因素将用于验证用户。

    本地化后的图片

  7. 单击 Create(创建),然后单击 Add(添加)。

  8. 单击绿色“+”图标为密码因素流添加另一个因素,这将验证为重置密码提供的答案。单击创建

    本地化后的图片

  9. 单击添加策略为该因素添加身份验证策略。

  10. 从下拉菜单中选择之前创建的同一身份验证策略,然后单击添加

    本地化后的图片

普通登录 + 注册用户检查

  1. 单击蓝色“+”图标将另一个身份验证策略(普通登录流)添加到父 SSPR 因素中。

    本地化后的图片

  2. 单击添加为普通用户登录创建以下身份验证策略。

    本地化后的图片

  3. 单击创建,然后单击添加

  4. 为上面创建的策略单击绿色“+”图标以添加另一个因素,即决策块。单击创建

    本地化后的图片

  5. 单击创建

    本地化后的图片

  6. 单击添加策略为此决策因素创建身份验证策略。

    本地化后的图片

  7. 单击创建,然后单击添加。这将检查用户是否已注册。

  8. 单击绿色的“+”图标将用户指向注册策略。

    本地化后的图片

  9. 从下拉菜单中选择注册因素,然后单击创建

    本地化后的图片

  10. 现在,单击蓝色“+”图标将另一个策略添加到决策块中,此策略将供已注册的用户结束身份验证之用。

    本地化后的图片

  11. 单击添加策略以创建以下身份验证策略。

    本地化后的图片

  12. 单击 Create(创建),然后单击 Add(添加)。