|
CDC 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.security.Policy
public abstract class Policy
これは、さまざまなソースのコードで利用できるアクセス権を指定する、Java アプリケーション環境のシステムセキュリティーポリシーを表す abstract クラスです。つまり、セキュリティーポリシーは、この Policy クラスに含まれる abstract メソッドの実装を提供する Policy サブクラスによって表現されます。
有効な Policy オブジェクトは、常に 1 つだけです。
Policy オブジェクトで利用されるポリシー情報を取り出す場所は、Policy の実装によって異なります。たとえば、ポリシー設定を、フラットな ASCII ファイル、Policy クラスの直列化されたバイナリファイル、またはデータベースとして保存できます。
現在インストールされている Policy オブジェクトを取得するには、getPolicy
メソッドを呼び出します。Policy オブジェクトを変更するには、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。
これによってコードの元の場所 (コードの発信元) とその署名者の公開鍵がカプセル化される
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
を呼び出すと、ファイルが再読み込みされます。
|
CDC 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |