7.16. 安全应用程序更改


从 JBoss EAP 7 开始,将 JBoss Web 替换为 Undertow 需要更改安全配置。从 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 删除

vaults 已从 JBoss EAP 8.1 中删除。如果您的应用程序使用旧的 vault 表达式,则必须迁移并使用 Elytron 加密表达式。

检查部署文件中的 ${VAULT:: 实例(可以是注解或部署描述符),并将其替换为对应的加密表达式。

7.16.4. OIDC 客户端迁移

JBoss EAP 8.1 不支持 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

© 2026 Red Hat
返回顶部