3.5. 配置访问控制列表(ACL)缓存


当您向用户授予或拒绝角色时,Data Grid 存储哪些用户可以在内部访问您的缓存的详细信息。此 ACL 缓存通过避免 Data Grid 的需求来计算每个请求执行读写操作的适当权限,从而提高了安全授权的性能。

注意

每当您为用户授予或拒绝角色时,Data Grid 会清除 ACL 缓存,以确保它正确应用用户权限。这意味着,每次授予或拒绝角色时,数据网格都必须为所有用户重新计算缓存权限。为了获得最佳性能,您不应该在生产环境中频繁或重复授予和拒绝角色。

流程

  1. 打开 Data Grid 配置以进行编辑。
  2. 使用 cache-size 属性指定 ACL 缓存的最大条目数。

    ACL 缓存中的条目具有缓存的卡性,即 * 用户。您应该将最大条目数设置为可保存所有缓存和用户信息的值。例如,默认大小为 1000,适用于最多 100 个缓存和 10 个用户的部署。

  3. 使用 cache-timeout 属性设置超时值(以毫秒为单位)。

    如果 Data Grid 无法访问该条目的超时时间内 ACL 缓存中的条目。当用户随后尝试缓存操作时,Data Grid 会重新计算其缓存权限,并将条目添加到 ACL 缓存中。

    重要

    为 cache-size 或 cache-timeout 属性指定 0 代表禁用 ACL 缓存。只有在禁用授权时,才应禁用 ACL 缓存。

  4. 保存对配置的更改。

ACL 缓存配置

XML

<infinispan>
  <cache-container name="acl-cache-configuration">
    <security cache-size="1000"
              cache-timeout="300000">
      <authorization/>
    </security>
  </cache-container>
</infinispan>

JSON

{
  "infinispan" : {
    "cache-container" : {
      "name" : "acl-cache-configuration",
      "security" : {
        "cache-size" : "1000",
        "cache-timeout" : "300000",
        "authorization" : {}
      }
    }
  }
}

YAML

infinispan:
  cacheContainer:
    name: "acl-cache-configuration"
    security:
      cache-size: "1000"
      cache-timeout: "300000"
      authorization: ~

3.5.1. 刷新 ACL 缓存

可以使用 GlobalSecurityManager MBean (可通过 JMX 访问)来清除 ACL 缓存。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部