Java プラットフォーム 1.2

java.security
クラス AccessControlContext

java.lang.Object
  |
  +--java.security.AccessControlContext

public final class AccessControlContext
extends Object

AccessControlContext は、それがカプセル化するコンテキストに基づいて、システムリソースへのアクセスを決定するために使用されます。

さらに具体的に説明すると、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(ProtectionDomain[] context)
          指定された ProtectionDomain のセットで AccessControlContext を作成します。
 
メソッドの概要
 void checkPermission(Permission perm)
          現在有効なセキュリティポリシーとこのオブジェクトのコンテキストに基づいて、指定されたアクセス権によって示されるアクセス要求が許可されるか、拒否されるかを決定します。
 boolean equals(Object obj)
          2 つの AccessControlContext オブジェクトが同等かどうかを判定します。
 int hashCode()
          このコンテキストのハッシュコード値を返します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AccessControlContext

public AccessControlContext(ProtectionDomain[] context)
指定された ProtectionDomain のセットで AccessControlContext を作成します。コンテキストを null にすることはできません。重複した領域は、コンテキストから削除されます。
パラメータ:
context - このコンテキストに関連付けられた ProtectionDomain
メソッドの詳細

checkPermission

public void checkPermission(Permission perm)
                     throws AccessControlException
現在有効なセキュリティポリシーとこのオブジェクトのコンテキストに基づいて、指定されたアクセス権によって示されるアクセス要求が許可されるか、拒否されるかを決定します。

このメソッドは、アクセス要求が許可される場合には何もしないで復帰し、そうでない場合には適切な AccessControlException をスローします。

パラメータ:
perm - 要求されたアクセス権
例外:
AccessControlException - 現在のセキュリティポリシーと、このオブジェクトがカプセル化したコンテキストに基づいて、指定されたアクセス権が許可されない場合

equals

public boolean equals(Object obj)
2 つの AccessControlContext オブジェクトが同等かどうかを判定します。つまり、obj が AccessControlContext であり、このコンテキストと同じ ProtectionDomain のセットを持っているかどうかを調べます。

パラメータ:
obj - このオブジェクトと同等かどうかを判定するオブジェクト
戻り値:
obj が AccessControlContext で、このコンテキストと同じ ProtectionDomain のセットを持っている場合は true、そうでない場合は false
オーバーライド:
クラス Object 内の equals

hashCode

public int hashCode()
このコンテキストのハッシュコード値を返します。ハッシュコードを計算するには、コンテキストにあるすべての保護領域のハッシュコードの排他的論理和を求めます。
戻り値:
このコンテキストのハッシュコード値
オーバーライド:
クラス Object 内の hashCode

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.