public interface Acl extends Owner
ACLは、複数のACL項目を持つデータ構造体だと考えることができます。それぞれのACL項目は、特定のプリンシパルに関連するアクセス権のセットを含んでいます。(プリンシパルは個別のユーザーやグループなどのエンティティを表す)。さらに、各ACL項目は、正または負に指定されています。正の場合は、関連するプリンシパルにアクセス権が与えられます。負の場合、アクセス権は拒否されます。
各ACL中のACLエントリは次のルールに従います。
java.security.acl
パッケージはACLと関連するデータ構造体(ACLエントリ、グループ、アクセス権など)に対するインタフェースを提供し、sun.security.acl
クラスはインタフェースのデフォルトの実装を提供します。たとえば、java.security.acl.Acl
はACLに対するインタフェースを提供し、sun.security.acl.AclImpl
クラスはそのインタフェースのデフォルトの実装を提供します。
java.security.acl.Acl
インタフェースはjava.security.acl.Owner
インタフェースを拡張したものです。Ownerインタフェースは、各ACLの所有者のリストを維持するために使用します。所有者にしかACLの変更は許されません。たとえば、ACLのaddEntry
メソッドを呼び出し、新しいACLエントリをACLに追加することができるのは所有者だけです。
修飾子と型 | メソッドと説明 |
---|---|
boolean |
addEntry(Principal caller, AclEntry entry)
ACLエントリをこのACLに追加します。
|
boolean |
checkPermission(Principal principal, Permission permission)
指定された主体が指定されたアクセス権を持っているかどうかを判定します。
|
Enumeration<AclEntry> |
entries()
このACL内のエントリの列挙を返します。
|
String |
getName()
このACLの名前を返します。
|
Enumeration<Permission> |
getPermissions(Principal user)
指定された主体(個人またはグループなどのエンティティを表す)に対して許可されたアクセス権のセットに対する列挙を返します。
|
boolean |
removeEntry(Principal caller, AclEntry entry)
このACLから1つのACLを削除します。
|
void |
setName(Principal caller, String name)
ACLエントリをこのACLに追加します。
|
String |
toString()
ACLの内容を文字列表現で返します。
|
addOwner, deleteOwner, isOwner
void setName(Principal caller, String name) throws NotOwnerException
caller
- このメソッドを起動する主体。このACLの所有者になっている必要がある。name
-このACLに与える名前。NotOwnerException
- 呼び出す主体がこのACLの所有者でない場合。getName()
String getName()
setName(java.security.Principal, java.lang.String)
boolean addEntry(Principal caller, AclEntry entry) throws NotOwnerException
caller
- このメソッドを起動する主体。このACLの所有者になっている必要がある。entry
- このACLに追加されるACLエントリ。NotOwnerException
- 呼び出す主体がこのACLの所有者でない場合。boolean removeEntry(Principal caller, AclEntry entry) throws NotOwnerException
caller
- このメソッドを起動する主体。このACLの所有者になっている必要がある。entry
- このACLから削除するACLエントリ。NotOwnerException
- 呼び出す主体がこのACLの所有者でない場合。Enumeration<Permission> getPermissions(Principal user)
個人の正と負のアクセス権セットも決定される。正のアクセス権セットには、その主体に対する正のACLエントリで(存在する場合)指定されているアクセス権が含まれる。同様に、負のアクセス権セットには、その主体に対する負のACLエントリで(存在する場合)指定されているアクセス権が含まれる。個人の正(または負)のアクセス権セットは、このACL内に正(または負)のACLエントリが存在しない場合はnullと見なされる。
このあと、主体に与えられるアクセス権のセットが、個人のアクセス権をグループのアクセス権よりも常に優先するという単純なルールを使用して決定される。すなわち、主体の個人の負のアクセス権セット(あるアクセス権の拒否)はグループの正のアクセス権セットに優先し、主体の個人の正のアクセス権セットはグループの負のアクセス権セットに優先する。
user
- そのアクセス権セットを返す主体。Enumeration<AclEntry> entries()
boolean checkPermission(Principal principal, Permission permission)
getPermissions
メソッドと同じアルゴリズムに基づいて決定されます。principal
- 主体。有効な認証済みの主体を前提とする。permission
- 判定対象のアクセス権。getPermissions(java.security.Principal)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.