3.5. 配置访问控制列表(ACL)缓存
当您向用户授予或拒绝角色时,Data Grid 会存储用户可在内部访问缓存的详细信息。此 ACL 缓存避免了需要数据网格来计算安全授权的性能,如果用户具有执行每个请求的读写操作的适当权限,则此 ACL 缓存可提高性能。
每当向用户授予或拒绝角色时,Data Grid 会清除 ACL 缓存以确保其正确应用用户权限。这意味着,每次授予或拒绝角色时,Data Grid 必须重新计算所有用户的缓存权限。为了获得最佳性能,您不应在生产环境中频繁或重复授予和拒绝角色。
流程
- 打开 Data Grid 配置进行编辑。
使用
cache-size
属性指定 ACL 缓存的最大条目数。ACL 缓存中的条目有卡式
缓存:* 用户
。您应该将最大条目数设置为可保存所有缓存和用户信息的值。例如,默认大小为1000
,适合部署最多 100 个缓存和 10 个用户。使用
cache-timeout
属性以毫秒为单位设置超时值。如果 Data Grid 无法访问该条目的超时期间内 ACL 缓存中的条目。当用户随后尝试缓存操作时,Data Grid 会重新计算其缓存权限,并在 ACL 缓存中添加条目。
重要为
cache-size
或cache-timeout
属性指定值0
可禁用 ACL 缓存。只有在禁用授权时才会禁用 ACL 缓存。- 保存对您的配置的更改。
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: ~
其他资源