当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

接口 java.security.acl.Acl

public interface Acl
extends Owner

接口表示一 Access Control List(ACL)。 一个 Access Control List 是一个用来保护资源访问的数据结构。

一个 ACL 可以想象成一个具有多个 ACL 项的数据结构。每个 ACL 项都是 AclEntry 类型的接口, 它包含与特定主体相关的许可权限集合(一个主体表示一个实体,例如一个个体用户或者一个组)。此外,每个 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 接口。 所有者接口用来维护每个 ACL 的所有者列表。只有允许所有者修改 ACL。 例如,只有所有者才能调用 ACL 的 addEntry 方法添加一新的 ACL 项到该 ACL。

参见:
AclEntry, Owner, getPermissions

方法索引

addEntry(Principal, AclEntry)
添加一 ACL 项到该 ACL。
checkPermission(Principal, Permission)
检查指定的主体是否具有指定的许可权限。
entries()
返回一 ACL 项的枚举。
getName()
返回 ACL 名。
getPermissions(Principal)
返回一指定主体(代表一个实体,如个体或组)的允许的许可权限集合的枚举。
removeEntry(Principal, AclEntry)
从该 ACL 删掉一 ACL 项。
setName(Principal, String)
设置 ACL 名。
toString()
返回 ACL 内容的字符串表示。

方法

setName
 public abstract void setName(Principal caller,
                              String name) throws NotOwnerException
设置 ACL 名。

参数:
caller - 调用该方法的主体。 它必须为该 ACL 的所有者。
name - 赋给该 ACL 的名字。
抛出: NotOwnerException
如果调用者主体不是该 ACL 的所有者。
getName
 public abstract String getName()
返回 ACL 名。

返回:
该 ACL 的名字。
addEntry
 public abstract boolean addEntry(Principal caller,
                                  AclEntry entry) throws NotOwnerException
添加一 ACL 项到该 ACL。 一个项与一个主体(例如,一个个体或一个组)的许可权限集合相关联。每个主体最多具有一个正数 ACL 项(授予主体的指定的许可权限) 和一个负数 ACL 项(否决的指定的许可权限)。如果 ACL 中已存在一相同类型(正数或负数)的 ACL 项,则返回 false 。

参数:
caller - 调用该方法的主体。 它必须为该 ACL 的所有者。
entry - 添加到该 ACL 的 ACL 项。
返回:
成功则为 true 。如果该 ACL 中已经存在同一主体的相同类型(正数或负数)的项,则返回 false 。
抛出: NotOwnerException
如果调用者主体不是该 ACL 的所有者。
removeEntry
 public abstract boolean removeEntry(Principal caller,
                                     AclEntry entry) throws NotOwnerException
从该 ACL 删掉一 ACL 项。

参数:
caller - 调用该方法的主体。 它必须为该 ACL 的所有者。
entry - 从该 ACL 删掉的 ACL 项。
返回:
成功则为 true,如果不是该 ACL 的项则为 false。
抛出: NotOwnerException
如果调用者主体不是该 ACL 的所有者。
getPermissions
 public abstract Enumeration getPermissions(Principal user)
返回一指定主体(代表一个实体,如个体或组)的允许的许可权限集合的枚举。允许的许可权限按如下方法计算:

参数:
user - 返回许可权限集合的主体。
返回:
指定主体允许的许可权限集合。
entries
 public abstract Enumeration entries()
返回一 ACL 项的枚举。 枚举中的每一个元素都为 AclEntry 型。

返回:
该 ACL 项的枚举。
checkPermission
 public abstract boolean checkPermission(Principal principal,
                                         Permission permission)
检查指定的主体是否具有指定的许可权限。 如果具有,则返回 true ,否则返回 false 。 另外,该方法检查传送的许可权限是否为指定主体允许的许可权限的成员。 允许的许可权限集合由 getPermissions 方法使用的算法确定。

参数:
principal - 假定是一有效的、被验证过的主体。
permission - 待检查的许可权限。
返回:
如果主体具有指定的许可权限则为 true,否则为 false 。
参见:
getPermissions
toString
 public abstract String toString()
返回 ACL 内容的字符串表示。

返回:
ACL 内容的字符串表示。
覆盖:
Object 中的 toString

当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)