2.6. Active Directory 的其他注意事项
本节介绍如何配置 JBoss EAP 在 Microsoft Windows 服务器(Active Directory 域的一部分)上运行的 SPNEGO 身份验证所需的帐户。
在本节中,用于以 HOST_NAME 的形式访问服务器的主机名称为 HOST_NAME,域称为 REALM,该域称为 DOMAIN,托管 JBoss EAP 实例的服务器称为 MACHINE_NAME。附录.
2.6.1. 配置 Microsoft Windows 域 复制链接链接已复制到粘贴板!
清除现有的服务主体映射。
在 Microsoft Windows 网络上,将自动创建一些映射。删除自动创建的映射,将服务器的身份映射到服务主体,以便正确进行协商。该映射使客户端计算机上的 Web 浏览器能够信任服务器并尝试 SPNEGO。客户端计算机通过域控制器验证以 HTTP/HOST
_NAME 形式进行的映射。以下是删除现有映射的步骤:
使用以下命令,列出使用计算机域注册的映射:
setspn -L MACHINE_NAME使用以下命令删除现有映射:
setspn -D HTTP/HOST_NAME MACHINE_NAMEsetspn -D host/HOST_NAME MACHINE_NAME创建主机用户帐户。
注意确保主机名与
MACHINE_NAME不同。在本节的其余部分中,主机名指代为
USER_NAME。定义
USER_NAME 和之间的映射。HOST_NAME运行以下命令来配置服务主体映射:
ktpass -princ HTTP/HOST_NAME@REALM -pass * [-kvno 0] -mapuser DOMAIN\USER_NAME -out jboss.keytab -ptype KRB5_NT_PRINCIPAL -crypto all出现提示时,输入用户名的密码。
运行以下命令来验证映射:sets
pn -L USER_NAME.注意如果获得
KrbException: 指定版本的密钥没有 JRE 中的可用错误,您可能需要将 Key Version 设置为0:-kvno 0。请注意,REALM 需要全部以大写形式,而 HOST_NAME 应为小写。此外,HOST_NAME 必须是 FQDN,必须是可解析的A或AAAA 记录,而不是CNAME记录。使用
-crypto 仅适用于Windows Server 2008 及更高版本。对于 Windows Server 2003,您必须指定确切的设置。在安全域中定义主体。
主体可以在
elytron或传统安全子系统中定义或更新至HTTP/HOST_NAME@REALM。重要如果您对任何用户进行任何修改(例如更改选项或其密码),您必须重新生成
keytab。