搜索

6.5. Elytron 与 ejb 子系统集成

download PDF

从 JBoss EAP 7.1 开始,可以映射部署,使其安全性由 elytron 子系统来处理。如果部署引用映射的安全域,其安全性将由 Elytron 处理,否则其安全性将由旧版安全子系统来处理。此映射在 ejb 子系统中定义。

ejb 子系统内,从部署中引用的安全域名创建映射至引用的 Elytron security-domain。当为部署中的 Bean 配置映射的安全域名时,这表示 Elytron 应处理安全性。设置新的 Jakarta Enterprise Beans 安全拦截器而不是现有的拦截器。

新的 Jakarta Enterprise Beans 安全拦截器利用与调用关联的 Elytron SecurityDomain 获取当前的 SecurityIdentity 并执行以下任务:

  • 建立运行主体
  • run-as 主体创建任何额外角色。
  • 创建 run-as 角色。
  • 做出授权决策。

JBoss EAP 7.1 在 ejb 子系统 application-security-domains 中引入了新的管理资源。application-security-domains 元素包含应用安全域,应映射到 Elytron 安全域。

表 6.1. application-security-domain 的属性
属性描述

name

此属性引用部署中指定的安全域名称。

security-domain

此属性是对应当使用的 Elytron 安全域的引用。

enable-jacc

此属性启用使用 Jakarta 授权的授权。

referencing-deployments

这是一个运行时属性,它会列出所有当前引用 ASD 的部署。

legacy-compliant-principal-propagation

当未定义传入的以 运行时 身份时,此属性决定了本地未安全的 Jakarta Enterprise Beans 的主体。

如果设置为 true,则本地未保护的 Jakarta Enterprise Beans 的主体是当前验证的身份。

如果设置为 false,则本地未保护的 Jakarta Enterprise Beans 的主体是匿名的。

此属性为可选,默认值为 'true'。

您可以使用管理控制台或管理 CLI,在 ejb 子系统中配置 application-security-domain。如需更多信息,请参阅以下主题:

6.5.1. 使用管理控制台配置应用程序安全域

  1. 访问管理控制台。如需更多信息,请参阅 JBoss EAP 配置指南 中的 管理控制台
  2. 导航到 Configuration Subsystems EJB,然后点 View
  3. 选择 Security Domain 选项卡,并根据需要配置应用程序安全域。

6.5.2. 使用管理 CLI 配置应用安全域

在以下示例中,MyAppSecurity 是部署中引用的安全域,App Domainelytron 子系统中配置的 Elytron 安全域。

/subsystem=ejb3/application-security-domain=MyAppSecurity:add(security-domain=ApplicationDomain)

由于此命令,以下 XML 添加到服务器配置文件的 ejb 子系统中:

<application-security-domains>
    <application-security-domain name="MyAppSecurity" security-domain="ApplicationDomain"/>
</application-security-domains>

有关使用 Elytron 处理安全性的 Jakarta 企业 Beans 的简单工作示例,请参见 JBoss EAP 附带的 ejb-security 快速入门。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.