JavaTM 2 Platform
Standard Ed. 6

java.security.acl
介面 Acl

所有父級介面:
Owner

public interface Acl
extends Owner

表示存取控制列表 (ACL) 的介面。存取控制列表是一種資料結構,用於保護對資源的存取。

可將一個 ACL 看作是具有多個 ACL 項的資料結構。每個介面型別為 AclEntry 的 ACL 項都包含一組與特定主體相關聯的權限。(主體表示一個實體,如單獨使用者或一個使用者組)。另外,可以將每個 ACL 項指定為 positive 或 negative 的。如果為 positive,則將權限授予相關聯的主體。如果為 negative,則拒絕該權限。

每個 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。例如,只有所有者才能調用 ACL 的 addEntry 方法來向 ACL 中添加新的 ACL 項。

另請參見:
AclEntry, Owner, getPermissions(java.security.Principal)

方法摘要
 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 中移除 ACL 項。
 void setName(Principal caller, String name)
          設置此 ACL 的名稱。
 String toString()
          返回 ACL 內容的字元串表示形式。
 
從介面 java.security.acl.Owner 繼承的方法
addOwner, deleteOwner, isOwner
 

方法詳細資訊

setName

void setName(Principal caller,
             String name)
             throws NotOwnerException
設置此 ACL 的名稱。

參數:
caller - 調用此方法的主體。必須是此 ACL 的所有者。
name - 賦予此 ACL 的名稱。
拋出:
NotOwnerException - 如果調用方主體不是此 ACL 的所有者。
另請參見:
getName()

getName

String getName()
返回此 ACL 的名稱。

返回:
此 ACL 的名稱。
另請參見:
setName(java.security.Principal, java.lang.String)

addEntry

boolean addEntry(Principal caller,
                 AclEntry entry)
                 throws NotOwnerException
向此 ACL 中添加 ACL 項。ACL 項將主體(例如個體或組)與一組權限關聯起來。每個主體最多有一個 positive ACL 項(指定要授予該主體的權限)和一個 negative ACL 項(指定要拒絕的權限)。如果該 ACL 中已經有一個相同型別( negative 或 positive )的 ACL 項,則返回 false。

參數:
caller - 調用此方法的主體。必須是此 ACL 的所有者。
entry - 要添加到此 ACL 中的 ACL 項。
返回:
如果添加成功,則返回 true;如果此 ACL 中已經有一個針對同一主體的相同型別(negative 或 positive)的 ACL 項,則返回 false。
拋出:
NotOwnerException - 如果調用方主體不是此 ACL 的所有者。

removeEntry

boolean removeEntry(Principal caller,
                    AclEntry entry)
                    throws NotOwnerException
從此 ACL 中移除 ACL 項。

參數:
caller - 調用此方法的主體。必須是此 ACL 的所有者。
entry - 要從此 ACL 中移除的 ACL 項。
返回:
如果移除成功,則返回 true;如果該項不是此 ACL 的一部分,則返回 false。
拋出:
NotOwnerException - 如果調用方主體不是此 ACL 的所有者。

getPermissions

Enumeration<Permission> getPermissions(Principal user)
返回一個指定主體(表示一個實體,如個體或組)的許可權限集合的列舉。按以下方式計算該許可權限集合:

參數:
user - 要返回其權限集合的主體。
返回:
指定該主體的許可權限的權限集合。

entries

Enumeration<AclEntry> entries()
返回此 ACL 中各項的列舉。該列舉中的每個元素的型別都是 AclEntry。

返回:
此 ACL 中各項的列舉。

checkPermission

boolean checkPermission(Principal principal,
                        Permission permission)
檢查指定的主體是否具有指定的權限。如果確實有,則返回 true;否則返回 false。 更明確地說,此方法檢查所傳入的權限是否為指定主體的許可權限集合的一個成員。由 getPermissions 方法所使用的相同演算法來確定該許可權限集合。

參數:
principal - 主體,假定是一個有效的、已進行身份驗證的 Principal。
permission - 要檢查的權限。
返回:
如果主體具有指定的權限,則返回 true;否則返回 false。
另請參見:
getPermissions(java.security.Principal)

toString

String toString()
返回 ACL 內容的字元串表示形式。

覆寫:
類別 Object 中的 toString
返回:
ACL 內容的字元串表示形式。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only