public final class AccessControlContext extends Object
さらに具体的に説明すると、AccessControlContext はコンテキストをカプセル化し、checkPermission というメソッドを持っています。このメソッドは、AccessController クラスの checkPermission メソッドと同等ですが、1 つ違いがあります。それは、AccessControlContext の checkPermission メソッドは、現在実行中のスレッドのコンテキストではなく、AccessControlContext がカプセル化するコンテキストに基づいて、アクセスを許可するかどうかを決定することです。
したがって、AccessControlContext を使用するのは、指定したコンテキスト内で行うセキュリティーチェックを、実際には別のコンテキスト内から (たとえば、ワークスレッド内から) 行う必要がある場合です。
AccessControlContext は、AccessController.getContext メソッドを呼び出すと作成されます。getContext メソッドは、現在の呼び出しコンテキストを AccessControlContext オブジェクトに格納して返します。呼び出しの例を次に示します。
AccessControlContext acc = AccessController.getContext()
以降、別のコンテキスト内のコードは、以前に保存した AccessControlContext オブジェクトの checkPermission メソッドを呼び出すことができます。呼び出しの例を次に示します。
acc.checkPermission(permission)
AccessController| コンストラクタと説明 |
|---|
AccessControlContext(AccessControlContext acc, DomainCombiner combiner)
指定された
AccessControlContext および DomainCombiner を使って、新しい AccessControlContext を作成します。 |
AccessControlContext(ProtectionDomain[] context)
指定された ProtectionDomain の配列で AccessControlContext を作成します。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
checkPermission(Permission perm)
現在有効なセキュリティーポリシーとこのオブジェクトのコンテキストに基づいて、指定されたアクセス権によって示されるアクセス要求が許可されるか、拒否されるかを決定します。
|
boolean |
equals(Object obj)
2 つの AccessControlContext オブジェクトが同等かどうかを判定します。
|
DomainCombiner |
getDomainCombiner()
この
AccessControlContext に関連付けられた DomainCombiner を取得します。 |
int |
hashCode()
このコンテキストのハッシュコード値を返します。
|
public AccessControlContext(ProtectionDomain[] context)
context - このコンテキストに関連した ProtectionDomain。重複しない領域が配列からコピーされる。その後配列が変更されても、この AccessControlContext がその影響を受けることはない。NullPointerException - context が null である場合public AccessControlContext(AccessControlContext acc, DomainCombiner combiner)
AccessControlContext および DomainCombiner を使って、新しい AccessControlContext を作成します。このコンストラクタにより、DomainCombiner が、提供済みの AccessControlContext に関連付けられます。
acc - 提供された DomainCombiner に関連付けられた AccessControlContext。combiner - 提供された AccessControlContext に関連付けられている DomainCombiner。NullPointerException - 指定された context が null である場合。SecurityException - セキュリティーマネージャーがインストールされ、呼び出し元が「createAccessControlContext」を持たない場合 SecurityPermissionpublic DomainCombiner getDomainCombiner()
AccessControlContext に関連付けられた DomainCombiner を取得します。
AccessControlContext に関連付けられている DomainCombiner。存在しない場合は null。SecurityException - セキュリティーマネージャーがインストールされ、呼び出し元が「getDomainCombiner」を持たない場合 SecurityPermissionpublic void checkPermission(Permission perm) throws AccessControlException
このメソッドは、アクセス要求が許可される場合には何もしないで復帰し、そうでない場合には適切な AccessControlException をスローします。
perm - 要求されたアクセス権。AccessControlException - 現在のセキュリティーポリシーと、このオブジェクトがカプセル化したコンテキストに基づいて、指定されたアクセス権が許可されない場合。NullPointerException - 確認するためのアクセス権が null の場合。public boolean equals(Object obj)
equals、クラス: Objectobj - このオブジェクトと等しいかどうかが判定されるオブジェクト。Object.hashCode()、HashMappublic int hashCode()
hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.