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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。