3.4. 使用安全缓存执行代码
当您为使用安全授权的嵌入式缓存构建 DefaultCacheManager
时,Cache Manager 会返回 SecureCache
,它会在调用任何操作前检查安全上下文。SecureCache
还确保应用程序无法检索较低级别的不安全对象,如 DataContainer
。因此,您必须使用具有适当级别权限的 Data Grid 用户执行代码。
先决条件
- 为嵌入式缓存配置授权。
流程
如有必要,从 Data Grid 上下文检索当前主题:
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