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 安全域。
属性 | 描述 |
---|---|
| 此属性引用部署中指定的安全域名称。 |
| 此属性是对应当使用的 Elytron 安全域的引用。 |
| 此属性启用使用 Jakarta 授权的授权。 |
| 这是一个运行时属性,它会列出所有当前引用 ASD 的部署。 |
|
当未定义传入的以
如果设置为
如果设置为 此属性为可选,默认值为 'true'。 |
您可以使用管理控制台或管理 CLI,在 ejb
子系统中配置 application-security-domain
。如需更多信息,请参阅以下主题:
6.5.1. 使用管理控制台配置应用程序安全域
- 访问管理控制台。如需更多信息,请参阅 JBoss EAP 配置指南 中的 管理控制台。
-
导航到 Configuration
Subsystems EJB,然后点 View。 - 选择 Security Domain 选项卡,并根据需要配置应用程序安全域。
6.5.2. 使用管理 CLI 配置应用安全域
在以下示例中,MyAppSecurity
是部署中引用的安全域,App Domain
是 elytron 子系统中配置的 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
快速入门。