3.4. 安全なキャッシュを使用したコードの実行
セキュリティー認証を使用する組み込みキャッシュの DefaultCacheManager を構築すると、Cache Manager は、操作を呼び出す前にセキュリティーコンテキストをチェックする SecureCache を返します。また、SecureCache は、アプリケーションが DataContainer などの低レベルの非セキュアなオブジェクトを取得できないようにします。このため、適切なレベルの権限を持つロールが割り当てられた Data Grid ユーザーでコードを実行する必要があります。
前提条件
- 組み込みキャッシュの承認を設定しておく。
手順
必要に応じて、Data Grid コンテキストまたは
AccessControlContextから現在のサブジェクトを取得します。Security.getSubject();PrivilegedActionでメソッド呼び出しをラップして、サブジェクトで実行します。Security.doAs(mySubject, (PrivilegedAction<String>)() -> cache.put("key", "value"));
Security.doAs() または Subject.doAs() メソッドを使用できます。Data Grid は、パフォーマンスを向上させるために Security.doAs() を推奨しています。