3.5. 配置安全域的缓存
您可以为安全域指定缓存,以加快身份验证检查。默认情况下,安全域使用简单的 map 作为缓存。这个默认缓存是最大 1000 个条目的 Least Recently Used(LRU)缓存。或者,您可以将安全域设置为使用 Infinispan 缓存,或者完全禁用缓存。
3.5.1. 为安全域设置缓存类型 复制链接链接已复制到粘贴板!
先决条件
如果要将安全域配置为使用 Infinispan 缓存,您必须首先创建一个名为 security 的 Infinispan 缓存容器
,其中包含安全域将使用的默认缓存。重要您只能定义一个用于安全域的 Infinispan 缓存配置。虽然您可以有多个使用 Infinispan 缓存的安全域,但每个安全域都从 Infinispan 缓存配置中创建自己的缓存实例。
有关 创建缓存容器 的更多信息,请参阅 JBoss EAP 配置指南。
您可以使用管理控制台或管理 CLI 来设置安全域的缓存类型。
使用管理控制台:
-
导航到 Configuration
Subsystems Security(Legacy)。 - 从列表中选择安全域,然后单击 View。
- 单击 Edit,然后在 Cache Type 字段中选择 default 或 infinspan。
- 点 Save。
-
导航到 Configuration
要使用管理 CLI,请使用以下命令:
/subsystem=security/security-domain=SECURITY_DOMAIN_NAME:write-attribute(name=cache-type,value=CACHE_TYPE)例如,将
其他安全域设置为使用 Infinispan 缓存:/subsystem=security/security-domain=other:write-attribute(name=cache-type,value=infinispan)
3.5.2. 列出和查找主体 复制链接链接已复制到粘贴板!
列出 Cache 中的 Principal
您可以使用以下管理 CLI 命令查看存储在安全域缓存中的主体:
/subsystem=security/security-domain=SECURITY_DOMAIN_NAME:list-cached-principals
从缓存中清空 Principal
如果需要,您可以从安全域的缓存中清空主体。
要刷新特定的主体,请使用以下管理 CLI 命令:
/subsystem=security/security-domain=SECURITY_DOMAIN_NAME:flush-cache(principal=USERNAME)要从缓存中清除所有主体,请使用以下管理 CLI 命令:
/subsystem=security/security-domain=SECURITY_DOMAIN_NAME:flush-cache
3.5.3. 禁用安全域的缓存 复制链接链接已复制到粘贴板!
您可以使用管理控制台或管理 CLI 为安全域禁用缓存。
使用管理控制台:
-
导航到 Configuration
Subsystems Security(Legacy)。 - 从列表中选择安全域,然后单击 View。
- 点击 Edit,再选择 Cache Type 的空白值。
- 点 Save。
-
导航到 Configuration
要使用管理 CLI,请使用以下命令:
/subsystem=security/security-domain=SECURITY_DOMAIN_NAME:undefine-attribute(name=cache-type)