|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.security.Policy
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> は SDK がインストールされていたディレクトリを示します。
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 policy)
システム全体の Policy オブジェクトを設定します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public Policy()
メソッドの詳細 |
public static Policy getPolicy()
setPolicy
への呼び出しによって変更が可能なので、キャッシュしないでください。このメソッドは最初に SecurityPermission("getPolicy")
アクセス権を使って SecurityManager.checkPermission
を呼び出して、Policy オブジェクトを取得してもよいかどうかを確認します。
SecurityException
- セキュリティマネージャが存在する場合に、セキュリティマネージャの checkPermission
が Policy オブジェクトの取得を許可しないときSecurityManager.checkPermission(Permission)
,
setPolicy(java.security.Policy)
public static void setPolicy(Policy policy)
SecurityPermission("setPolicy")
アクセス権を使って SecurityManager.checkPermission
を呼び出して、Policy を設定してもよいかどうかを確認します。
policy
- 新規システム Policy オブジェクト
SecurityException
- セキュリティマネージャが存在する場合に、セキュリティマネージャの checkPermission
が Policy の設定を許可しないときSecurityManager.checkPermission(Permission)
,
getPolicy()
public abstract PermissionCollection getPermissions(CodeSource codesource)
codesource
- 呼び出し側に関連した CodeSource。これは、コードの出所である元の位置と、その署名者の 1 つまたは複数の公開鍵をカプセル化する
public PermissionCollection getPermissions(ProtectionDomain domain)
domain
- 呼び出し元に関連した ProtectionDomain
ProtectionDomain
,
SecureClassLoader
public boolean implies(ProtectionDomain domain, Permission permission)
domain
- 判定対象の ProtectionDomainpermission
- 含まれているかどうかを判定する Permission オブジェクト
ProtectionDomain
public abstract void refresh()
refresh
を呼び出すと、ファイルが再読み込みされます。
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.