Menu Close
Settings Close

Language and Page Formatting Options

2.8. 安全子系统

security 子系统为应用提供安全基础架构,它基于 Jakarta 身份验证 API。该子系统使用与当前请求关联的安全上下文,以公开身份验证管理器、授权管理器、审计管理器和将管理器映射到相关容器的功能。

身份验证和授权管理器处理身份验证和授权。在将信息传递给应用之前,映射管理器处理从主体、角色或属性添加、修改或删除信息。审计管理器允许用户配置供应商模块,以控制报告安全事件的方式。

在大多数情况下,管理员应仅关注设置和配置安全域,以更新 security 子系统的配置。在安全域外,唯一可能需要更改的安全元素是 深度复制-subject-mode有关深度复制主题模式的更多信息,请参阅安全管理部分

2.8.1. 安全域

安全域是一组 Jakarta Authentication 声明性安全配置,供一个或多个应用用于控制身份验证、授权、审核和映射。默认包含以下四个安全域: jboss-ejb-policyjboss-web-policyotherja Alstjboss-ejb-policyjboss-web-policy 安全域是 JBoss EAP 实例的默认授权机制。如果应用配置的安全域不定义任何身份验证机制,将使用它们。这些安全域 以及其他,也在 JBoss EAP 内部用于授权,是正确运行所必需的。ja demandingst 安全域是一个简单的 Jakarta 身份验证安全域,用于开发目的。

安全域包含身份验证、授权、安全映射和审计的配置。安全域是 JBoss EAP 安全 子系统的一部分,并由域控制器或单机服务器集中管理。用户可以根据需要创建任意数量的安全域来满足应用的要求。

您也可以使用 cache-type 属性配置安全域要使用的身份验证缓存类型。如果删除了此属性,将不会使用任何缓存。此属性允许的值为 default 或 infinispan

Elytron 和 PicketBox 安全域之间的比较

个部署应当与单个 Elytron 安全域或一个或多个传统的 PicketBox 安全域关联。部署不应与这两者关联。这是无效的配置。

如果部署与多个 Elytron 安全域关联,而一个部署可以与多个传统安全域关联,则会出现例外。

注意

使用 PicketBox 时,安全域封装了对底层身份存储的访问和用于授权决策的映射。因此,需要具有不同存储的 PicketBox 用户才能将不同的安全域用于不同的源。

在 Elytron 中,这两个功能是分隔的。对存储的访问由安全域处理,授权的映射由安全域处理。

因此,需要独立 PicketBox 安全域的部署不一定需要独立的 Elytron 安全域。