6.5. Elytron 与 ejb 子系统集成

从 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. 导航到 ConfigurationSubsystemsEJB,然后点 View
  3. 选择 Security Domain 选项卡,并根据需要配置应用程序安全域。