7.16. 安全应用程序更改


使用 Undertow 替换 JBoss Web 需要更改 JBoss EAP 7 的安全性配置。从 JBoss EAP 8.0 开始,您必须使用 Elytron 作为旧安全性,因为 PicketBox 不再可用。

7.16.1. 迁移验证器 valves

如果您创建了在 JBoss EAP 6.4 中扩展 AuthenticatorBase 的自定义验证器 valve,则必须手动将它替换为 JBoss EAP 7 中的自定义 HTTP 身份验证实施。HTTP 身份验证机制是在 elytron 子系统中创建的,然后注册到 undertow 子系统。有关如何实现自定义 HTTP 身份验证机制的详情,请参考 JBoss EAP 7.4 开发指南中的 自定义 HTTP 机制

7.16.3. Vault 删除

Vault 已从 JBoss EAP 8.0 中删除。如果您的应用程序使用传统的 vault 表达式,则必须迁移和使用 Elytron 加密表达式。

检查部署文件中的 ${VAULT:: 实例,它们可能位于注解或部署描述符中,并将它们替换为对应的加密表达式。

7.16.4. OIDC 客户端迁移

JBoss EAP 8.0 不支持 Keycloak OIDC 客户端适配器,并被原生 Elytron OIDC 客户端替代,提供类似的功能和配置。

要从 Keycloak OIDC 客户端适配器迁移到原生 Elytron OIDC 客户端,请按照以下步骤执行:

  • 在应用程序的 web.xml 文件中检查 <auth-method>KEYCLOAK </auth-method>,并将它替换为部署的 web.xml 文件中的 <auth-method>OIDC </auth-method>。
  • 检查是否存在 WEB-INF/keycloak.json,并将它重命名为 WEB-INF/oidc.json

7.16.5. 自定义登录模块迁移

在 JBoss EAP 8.0 中,旧的 security 子系统已被删除。要继续使用 elytron 子系统的自定义登录模块,请使用新的 Java 身份验证和授权服务(JAAS)安全域和 jaas-realm

7.16.6. 其他安全应用程序更改

JBoss EAP 7.2 或更高版本和更早的版本之间存在一些显著区别:

  • jboss-web.xml 中不需要 NegotiationAuthenticator valve,但仍必须是 web.xml 中定义的 < security-constraint&gt; 和 &lt ;login-config > 元素。它们用于决定保护哪些资源。
  • < login-config& gt; 元素中的 auth-method 元素现在是一个用逗号分开的列表。确切的值 SPNEGO 必须在此处,应首先显示在该列表中。如果需要 FORM 身份验证作为回退,则确切的值为 SPNEGO,FORM
  • jboss-deployment-structure.xml 文件不是必需的。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat