5.8.3. 为 Microsoft Windows Domain 配置 JBoss Negotiation
本节描述了如何配置当 JBoss EAP 运行在 Microsoft Windows 服务器上时使用 JBoss Negotiation 所要求的帐号,它也是活动目录域的一部分。
在本节里,用来访问服务器的主机名被称为
{hostname}
,安全区被称为 {realm}
,域被称为 {domain}
,而运行 JBoss EAP 实例的服务器被称为 {machine_name}
。
过程 5.6. 为 Microsoft Windows Domain 配置 JBoss Negotiation
清除现有的 Service Principal Mapping
在 Microsoft Windows 网络里,某些映射是自动创建的。删除这些自动创建的映射以使得服务器的标识符可以正确映射到用于协商的服务主体。这些映射让客户端的 Web 浏览器信任服务器并尝试 SPNEGO。客户端将用域控制器检验映射是否是HTTP{hostname}
格式。下面是删除现有映射的步骤:- 用这个命令来列出注册了域的映射:
setspn -L {machine_name}
。 - 用下列命令来删除现有的映射:
setspn -D HTTP/{hostname} {machine_name}
andsetspn -D host/{hostname} {machine_name}
。
- 创建一个主机用户帐号。
注意
确保主机用户名和{machine_name}
不一样。在本节后面的内容里,主机用户名被称为{user_name}
。 定义
{user_name}
和{hostname}
之间的映射。- 运行下列命令来配置 Service Principal Mapping:
ktpass -princ HTTP/{hostname}@{realm} -pass * -mapuser {domain}\{user_name}
。 - 提示时输入用户的密码。
注意
重置用户密码,这是导出 keytab 的一个前提条件。 - 运行下列命令
setspn -L {user_name}
来检验这个映射。
导出用户的 keytab 到安装了 JBoss EAP 的服务器上。
运行下列命令来导出 keytab:ktab -k service.keytab -a HTTP/{hostname}@{realm}
。注意
这个命令导出 HTTP/{hostname} 主体的票据到在 JBoss 用来配置主机安全域的 keytabservice.keytab
。- 在安全域里定义主体:
<module-option name="principal">HTTP/{hostname}@{realm}</module-option>
<module-option name="principal">HTTP/{hostname}@{realm}</module-option>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow