3.4. 使用安全缓存执行代码


当您为使用安全授权的嵌入式缓存构建 DefaultCacheManager 时,缓存管理器会返回 SecureCache,它会在调用任何操作前返回检查安全上下文。SecureCache 还确保应用无法检索较低级别的不安全对象,如 DataContainer。因此,您必须使用具有相应权限级别的角色的 Data Grid 用户执行代码。

先决条件

  • 为内嵌缓存配置授权。

流程

  1. 如有必要,从 Data Grid 上下文或 AccessControlContext 检索当前主题:

    Security.getSubject();
    Copy to Clipboard Toggle word wrap
  2. PrivilegedAction 中的嵌套方法调用,以便使用 Subject 执行它们。

    Security.doAs(mySubject, (PrivilegedAction<String>)() -> cache.put("key", "value"));
    Copy to Clipboard Toggle word wrap
注意

您可以使用 Security.doAs ()Subject.doAs () 方法。数据网格建议 Security.doAs () 提高性能。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部