public class ProtectionDomain extends Object
ProtectionDomain クラスは、ドメインの属性をカプセル化し、与えられた Principal のセットの代わりに実行される場合に、そのインスタンスに対してアクセス権のセットが与えられるクラスのセットを含みます。
アクセス権の静的セットは、構築されたときに ProtectionDomain にバインドされています。そのようなアクセス権は、Policy に関係なくすべてドメインに与えられています。しかし、動的なセキュリティーポリシーをサポートするには、アクセス権を確認するときは常に現在の Policy によってアクセス権のセットに動的にマップされているように ProtectionDomain も構築します。
コンストラクタと説明 |
---|
ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
指定された CodeSource と Permissions で新規 ProtectionDomain を作成します。
|
ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
指定された CodeSource、Permissions、ClassLoader、および Principals 配列で新規 ProtectionDomain を作成します。
|
修飾子と型 | メソッドと説明 |
---|---|
ClassLoader |
getClassLoader()
このドメインの ClassLoader を返します。
|
CodeSource |
getCodeSource()
このドメインの CodeSource を返します。
|
PermissionCollection |
getPermissions()
このドメインに与えられた静的アクセス権を返します。
|
Principal[] |
getPrincipals()
このドメインの主体の配列を返します。
|
boolean |
implies(Permission permission)
この ProtectionDomain が、Permission オブジェクトで表現されるアクセス権を包含するかどうかを判定します。
|
String |
toString()
ProtectionDomain を String に変換します。
|
public ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
setReadOnly())
が渡された Permissions オブジェクトで呼び出されます。このドメインに許可されるのは指定されたアクセス権だけであり、現在のポリシーは調べられません。codesource
- このドメインに関連したコードソースpermissions
- このドメインに与えられたアクセス権public ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
setReadOnly()
が渡された Permissions オブジェクトで呼び出されます。このドメインに許可されたアクセス権は動的です。コンストラクタに渡された静的アクセス権と、アクセス権を確認するときの現在のポリシーによって許可されるアクセス権との両方が含まれます。
通常、コンストラクタは ClassLoaders
と DomainCombiners
とによって使用されます。ClassLoader と DomainCombiner は、このドメインに許可されたアクセス権にアクティブに関連させるために Policy
に委譲されます。このコンストラクタでは、ポリシーの変更を反映する指定された PermissionCollection を拡張するため、Policy プロバイダに機会を提供します。
codesource
- このドメインに関連した CodeSourcepermissions
- このドメインに与えられたアクセス権classloader
- このドメインに関連した ClassLoaderprincipals
- このドメインに関連付けられた Principal の配列。この配列の内容は、後続の変更に影響されないようにコピーされる。Policy.refresh()
, Policy.getPermissions(ProtectionDomain)
public final CodeSource getCodeSource()
public final ClassLoader getClassLoader()
public final Principal[] getPrincipals()
public final PermissionCollection getPermissions()
Policy.refresh()
, Policy.getPermissions(ProtectionDomain)
public boolean implies(Permission permission)
評価されるアクセス権のセットは、ProtectionDomain がアクセス権の静的セットで構築されたか、あるいは動的にマップされたアクセス権のセットにバインドされているかによって変わります。
ProtectionDomain が静的にバインドされた (statically bound
) PermissionCollection によって構築された場合、構築時に提供された PermissionCollection に対してアクセス権が確認されるだけです。
しかし、動的にバインドしている (dynamically binding
) アクセス権をサポートするコンストラクタバリアントで ProtectionDomain が構築されている場合、構築時に提供された PermissionCollection と現在の Policy 割り当てとの組み合わせに対してもアクセス権が確認されます。
permission
- チェック対象の Permission オブジェクト。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.