JavaTM 2 Platform
Standard Ed. 5.0

java.security
クラス Policy

java.lang.Object
  上位を拡張 java.security.Policy

public abstract class Policy
extends Object

Java アプリケーション環境のシステムセキュリティポリシー (各種ソースのコードで利用できるアクセス権はどれかを指定する) を表す抽象クラスです。つまり、セキュリティポリシーは、この Policy クラスで abstract メソッドの実装を提供する Policy サブクラスによって表現されます。

常に有効な Policy オブジェクトは 1 つだけです。

Policy オブジェクトが使用するポリシー情報のソースの位置は、Policy の実装に依存します。ポリシーの設定は、たとえば、フラット ASCII ファイル、Policy クラスの直列化されたバイナリファイル、データベースなどとして格納できます。

現在インストールされている Policy オブジェクトは、getPolicy メソッドを呼び出すことによって取得でき、setPolicy メソッドの呼び出しによって (Policy をリセットするアクセス権付きのコードで) 変更できます。

refresh メソッドにより、ポリシーオブジェクトの現在の設定がリフレッシュまたは再読み込みされます。

この処理は実装に依存します。たとえば、ポリシーオブジェクトがそのポリシーを設定ファイルに格納する場合に refresh を呼び出すと、ポリシー設定ファイルが再度読み込まれます。リフレッシュされたポリシーは ProtectionDomain のクラスには有効でない場合があります。このポリシーは、Policy プロバイダの implies メソッドの実装と PermissionCollection の書き込みストラテジに依存しています。

デフォルトの Policy 実装は、(Java セキュリティプロパティファイルの) policy.provider セキュリティプロパティに、希望する Policy 実装クラスの完全指定名を設定することによって変更できます。Java セキュリティプロパティファイルは、<JAVA_HOME>/lib/security/java.security という名前のファイルに格納されています。ただし、<JAVA_HOME> は JDK がインストールされていたディレクトリを示します。

関連項目:
CodeSource, PermissionCollection, SecureClassLoader

コンストラクタの概要
Policy()
           
 
メソッドの概要
abstract  PermissionCollection getPermissions(CodeSource codesource)
          グローバルポリシーを評価し、指定されたコードソースのコードで許可されているアクセス権のセットを指定する PermissionCollection オブジェクトを返します。
 PermissionCollection getPermissions(ProtectionDomain domain)
          グローバルポリシーを評価し、保護ドメインの指定された特性で許可されているアクセス権のセットを指定する PermissionCollection オブジェクトを返します。
static Policy getPolicy()
          インストール済みの Policy オブジェクトを返します。
 boolean implies(ProtectionDomain domain, Permission permission)
          ProtectionDomain に許可されたアクセス権についてグローバルポリシーを評価し、そのアクセス権が許可されているかどうかを判定します。
abstract  void refresh()
          ポリシー設定をリフレッシュまたは再読み込みします。
static void setPolicy(Policy p)
          システム全体の Policy オブジェクトを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Policy

public Policy()
メソッドの詳細

getPolicy

public static Policy getPolicy()
インストール済みの Policy オブジェクトを返します。この値は setPolicy への呼び出しによって変更が可能なので、キャッシュしないでください。このメソッドは最初に SecurityPermission("getPolicy") アクセス権を使用して SecurityManager.checkPermission を呼び出し、Policy オブジェクトを取得してもよいかどうかを確認します。

戻り値:
インストール済みの Policy
例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの checkPermission が Policy オブジェクトの取得を許可しないとき
関連項目:
SecurityManager.checkPermission(Permission), setPolicy(java.security.Policy)

setPolicy

public static void setPolicy(Policy p)
システム全体の Policy オブジェクトを設定します。このメソッドは最初に SecurityPermission("setPolicy") アクセス権を使用して SecurityManager.checkPermission を呼び出し、Policy を設定してもよいかどうかを確認します。

パラメータ:
p - 新規システム Policy オブジェクト
例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの checkPermission が Policy の設定を許可しないとき
関連項目:
SecurityManager.checkPermission(Permission), getPolicy()

getPermissions

public abstract PermissionCollection getPermissions(CodeSource codesource)
グローバルポリシーを評価し、指定されたコードソースのコードで許可されているアクセス権のセットを指定する PermissionCollection オブジェクトを返します。

パラメータ:
codesource - 呼び出し側に関連した CodeSource。これは、コードの出所である元の位置と、その署名者の 1 つまたは複数の公開鍵をカプセル化する
戻り値:
ポリシーに基づいて codesource のコードで許可されているアクセス権のセット。返されるアクセス権のセットは新しい可変インスタンスでなければならず、Permission 型の異種をサポートしている必要があります。

getPermissions

public PermissionCollection getPermissions(ProtectionDomain domain)
グローバルポリシーを評価し、保護ドメインの指定された特性で許可されているアクセス権のセットを指定する PermissionCollection オブジェクトを返します。

パラメータ:
domain - 呼び出し元に関連した ProtectionDomain
戻り値:
ポリシーに基づいて domain で許可されているアクセス権のセット。返されるアクセス権のセットは新しい可変インスタンスでなければならず、Permission 型の異種をサポートしている必要があります。
導入されたバージョン:
1.4
関連項目:
ProtectionDomain, SecureClassLoader

implies

public boolean implies(ProtectionDomain domain,
                       Permission permission)
ProtectionDomain に許可されたアクセス権についてグローバルポリシーを評価し、そのアクセス権が許可されているかどうかを判定します。

パラメータ:
domain - 判定対象の ProtectionDomain
permission - 含まれているかどうかを判定する Permission オブジェクト
戻り値:
permission がこの ProtectionDomain に許可されたアクセス権の適切なサブセットの場合は true
導入されたバージョン:
1.4
関連項目:
ProtectionDomain

refresh

public abstract void refresh()
ポリシー設定をリフレッシュまたは再読み込みします。このメソッドの動作は実装に依存します。たとえば、ファイルの形式のポリシーに対して refresh を呼び出すと、ファイルが再読み込みされます。


JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。