3.4. 使用安全缓存执行代码
当您为使用安全授权的嵌入式缓存构建 DefaultCacheManager 时,缓存管理器会返回 SecureCache,它会在调用任何操作前返回检查安全上下文。SecureCache 还确保应用无法检索较低级别的不安全对象,如 DataContainer。因此,您必须使用具有相应权限级别的角色的 Data Grid 用户执行代码。
先决条件
- 为内嵌缓存配置授权。
流程
如有必要,从 Data Grid 上下文或
AccessControlContext检索当前主题:Security.getSubject();
Security.getSubject();Copy to Clipboard Copied! Toggle word wrap Toggle overflow PrivilegedAction中的嵌套方法调用,以便使用 Subject 执行它们。Security.doAs(mySubject, (PrivilegedAction<String>)() -> cache.put("key", "value"));Security.doAs(mySubject, (PrivilegedAction<String>)() -> cache.put("key", "value"));Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注意
您可以使用 Security.doAs () 或 Subject.doAs () 方法。数据网格建议 Security.doAs () 提高性能。