1.9. セキュアなキャッシュを使用したコード実行


Data Grid 承認を設定して DefaultCacheManager を構築すると、基礎となるキャッシュで操作を呼び出す前にセキュリティーコンテキストを確認する SecureCache を返します。また、SecureCache は、アプリケーションが DataContainer などの低レベルの非セキュアなオブジェクトを取得できないようにします。このため、必要な承認を持つアイデンティティーでコードを実行する必要があります。

Java で特定のアイデンティティーでコードを実行すると、通常、以下のように PrivilegedAction 内で実行されるコードをラップします。

import org.infinispan.security.Security;

Security.doAs(subject, new PrivilegedExceptionAction<Void>() {
public Void run() throws Exception {
    cache.put("key", "value");
}
});
Copy to Clipboard Toggle word wrap

Java 8 を使用すると、以下のように前述の呼び出しを簡素化できます。

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

上記の呼び出しは、Subject.doAs() の代わりに Security.doAs() メソッドを使用します。Data Grid でどちらのメソッドも使用できますが、Security.doAs() によりパフォーマンスが向上します。

現在の Subject が必要な場合は、以下の呼び出しを使用して Data Grid コンテキストまたは AccessControlContext から取得します。

Security.getSubject();
Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る