配置集成式 Windows 验证
为每个客户端应用程序终端用户设置 Active Directory Domain Controller 服务器、AX 服务器和桌面环境以配置集成式 Windows 验证。 集成式 Windows 验证允许 AX 客户端用户启用单点登录访问控制。
说明
在服务器操作系统上运行的 AX 客户端实例不支持集成式 Windows 验证。 您必须从客户端操作系统进行连接,否则应用程序默认使用基于表单的身份验证。
工作原理
集成 Windows 身份验证使用 Windows 客户端和服务器的安全功能。 它不提示用户输入用户名和密码,并且客户端计算机上的当前 Windows 用户信息由 Web 浏览器通过加密交换提供。 以下协议用于管理身份验证:
- SPNEGO AX 客户端连接
- Kerberos 连接到 ACL Analytics 的服务器配置文件
如果身份验证交换开始时无法识别用户,则 Web 浏览器将提示用户输入 Windows 用户帐户的用户名和密码。
创建 SPN 帐户
在 Active Directory 中创建一个新的 Windows 服务主体名称 (SPN) 帐户,将 AX 服务器验证映射到一个 Active Directory 帐户。

- 在 Active Directory Domain Controller 服务器上,单击启动 > 所有程序> 管理工具 > Active Directory 用户和计算机。
- 在您想要创建新 SPN 帐户的树状视图中右键单击域条目,选择新建 > 用户。
- 输入所需的信息,然后单击下一步。
- 配置用户密码,然后单击下一步:
- 输入帐户密码。
- 取消选择用户必须在下一次登录时更改密码。
- 选择密码永不过期。
- 单击完成。
将验证服务映射到 SPN 帐户
使用 ktpass 命令将 AX 服务器验证服务映射到 Active Directory SPN 帐户。

- 在 Active Directory Domain Controller 服务器上,打开命令提示并将目录更改为 ktpass.exe 所在的目录。
默认位置是 c:\Program Files\Support Tools。
-
要将认证服务映射到 SPN 账户,请输入以下 keypass 命令:
ktpass /out 文件名 /princ 名称 /pass 密码 /mapuser 本地用户名 /ptype 主体类型 /crypto 加密类型
有关 ktpass 语法,请参见 Microsoft Ktpass 参考。
示例
以下示例使用 ktpass 命令将认证服务映射到 SPN 账户:
ktpass /out 'C:\ax.keytab' /princ HTTP/axserver.ax.com@AX.COM /pass pass1234 /mapuser AXSSO /ptype KRB5_NT_PRINCIPAL /crypto RC4-HMAC-NT
添加 AX 连接器服务的 SPN
使用 setspn 命令注册 AX 连接器服务的 SPN。

- 在 Active Directory Domain Controller 服务器上,打开命令提示并将目录修改为 setspn.exe 所在的目录。
默认位置是 c:\Program Files\Support Tools。
-
要注册 SPN,请输入以下 setspn 命令:
setspn -A ACLSE/完整域和服务器名称 计算机名称
说明
ACLSE 是标识 AX 连接器所必需的值,并且在输入时必须全部大写。 计算机名称值可以被输入为名称或域\名称。
-
可选。 要验证 SPN 账户的映射,请使用以下 setspn 命令:
setspn -L 计算机名称
示例
以下示例使用 setspn 命令注册 SPN:
setspn -A ACLSE/axserver.acl.com axserver
测试 SPN 帐户映射
您还可以将 keytab 文件复制到 AX 服务器实例,然后使用 kinit 命令来测试您的 SPN 帐户映射。

先决条件:将 Java bin 子文件夹添加到您的路径环境变量,以使用 klist 命令而无需指定完整路径。
set PATH=java bin 路径;%PATH%
- 在 Active Directory Domain Controller 服务器上,复制您使用 ktpass 命令创建的 .keytab 文件,并将其粘贴到 AX 服务器的 Windows 目录中。
- 在 AX 服务器的 Windows 目录中,创建一个名为 krb5.ini 的文件。
-
在命令提示符处,使用以下命令验证可以读取该 keytab 文件:
klist -k
-
要尝试进行认证,请使用以下命令:
kinit 用户名@REALM.COM
- 输入用户密码并按 Enter。
示例
下面是一个 krb5.ini 文件示例:
[libdefaults] ticket_lifetime = 24000 default_realm = your_domain default_keytab_name = path_to_your_keytab_file dns_lookup_realm = false dns_lookup_kdc = false default_tkt_enctypes = rc4-hmac default_tgs_encrypes = rc4-hmac [realms] your_domain = { kdc = your_active_directory_server.domain.com:88 \} [domain_realm] .your_domain = YOUR_DOMAIN
your_domain = YOUR_DOMAIN
从 Internet Explorer 启用集成式 Windows 验证
在每个终端用户桌面环境中,从 Internet Explorer 启用集成 Windows 验证。 用户必须从客户端操作系统进行连接,在服务器操作系统上运行的 AX 客户端实例不支持集成 Windows 身份验证。

- 在 Microsoft Internet Explorer 中,单击工具 > Internet 选项 > 高级。
- 在安全组中,选择启用集成 Windows 验证,然后单击应用。
- 然后单击安全选项卡。
- 选择本地内部网图标,然后单击站点。
- 在本地 Intranet对话框中,单击高级,然后输入您的 AX 服务器实例的 HTTPS URL,并单击添加。
示例:https://axserver.ax.com。
- 单击关闭,在每个打开的对话框中单击确定直到 Internet 选项对话框关闭并重启 Internet Explorer。
下次启动 Internet Explorer 时,更新的设置会生效。