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 域

  1. 清除现有的服务主体映射。

    在 Microsoft Windows 网络上,将自动创建一些映射。删除自动创建的映射,将服务器的身份映射到服务主体,以便正确进行协商。该映射使客户端计算机上的 Web 浏览器能够信任服务器并尝试 SPNEGO。客户端计算机通过域控制器验证以 HTTP/HOST_NAME 形式进行的 映射。

    以下是删除现有映射的步骤:

    使用以下命令,列出使用计算机域注册的映射:

    setspn -L MACHINE_NAME

    使用以下命令删除现有映射:

    setspn -D HTTP/HOST_NAME MACHINE_NAME

    setspn -D host/HOST_NAME MACHINE_NAME
  2. 创建主机用户帐户。

    注意

    确保主机名与 MACHINE_NAME 不同。

    在本节的其余部分中,主机名指代为 USER_NAME

  3. 定义 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,必须是可解析的 AAAAA 记录,而不是 CNAME 记录。

    使用 -crypto 仅适用于 Windows Server 2008 及更高版本。对于 Windows Server 2003,您必须指定确切的设置。

  4. 在安全域中定义主体。

    主体可以在 elytron 或传统 安全 子系统中定义或更新至 HTTP/HOST_NAME@REALM

    重要

    如果您对任何用户进行任何修改(例如更改选项或其密码),您必须重新生成 keytab

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部