IAcl 接口

定义

表示访问控制列表(ACL)的接口。

[Android.Runtime.Register("java/security/acl/Acl", "", "Java.Security.Acl.IAclInvoker")]
public interface IAcl : IDisposable, Java.Interop.IJavaPeerable, Java.Security.Acl.IOwner
[<Android.Runtime.Register("java/security/acl/Acl", "", "Java.Security.Acl.IAclInvoker")>]
type IAcl = interface
    interface IOwner
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
属性
实现

注解

表示访问控制列表(ACL)的接口。 访问控制列表是用于保护对资源的访问的数据结构。

ACL 可以视为具有多个 ACL 条目的数据结构。 接口类型 AclEntry 的每个 ACL 条目都包含一组与特定主体关联的权限。 (主体表示单个用户或组等实体)。 此外,每个 ACL 条目都指定为正项或负项。 如果为正,则会向关联的主体授予权限。 如果为负,则拒绝权限。

每个 ACL 中的 ACL 条目遵守以下规则:

<ul><li>每个主体最多可以有一个正 ACL 条目和一个负条目;也就是说,不允许任何主体使用多个正或负 ACL 条目。 每个条目指定要授予的权限集(如果为正)或拒绝(如果为负)。

<li>如果特定主体没有条目,则主体被视为具有 null(空)权限集。

<li>如果存在向主体授予特定权限的正条目,而拒绝主体的负条目具有相同的权限,则结果就好像从未授予或拒绝该权限一样。

<li>个人权限始终覆盖个人所属的组的权限。 也就是说,单个负权限(特定拒绝权限)将覆盖组的积极权限。 单个正权限会覆盖组的负权限。

</ul>

java.security.acl 包提供 ACL 和相关数据结构的接口(ACL 条目、组、权限等)。

接口 java.security.acl.Acl 扩展 java.security.acl.Owner 接口。 所有者接口用于维护每个 ACL 的所有者列表。 仅允许所有者修改 ACL。 例如,只有所有者才能调用 ACL addEntry 的方法,以向 ACL 添加新的 ACL 条目。

在 1.1 中添加。

此成员已弃用。 此类已弃用,在Java SE 的未来版本中将删除此类。 自 1.2 以来,它已被 java.security.Policy 替换为相关类。

Java文档java.security.acl.Acl

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

属性

名称 说明
Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
Name

返回此 ACL 实例的名称。

PeerReference

返回JniObjectReference包装的Java对象实例。

(继承自 IJavaPeerable)

方法

名称 说明
AddEntry(IPrincipal, IAclEntry)

将 ACL 条目添加到此 ACL。

AddOwner(IPrincipal, IPrincipal)

添加所有者。

(继承自 IOwner)
CheckPermission(IPrincipal, IPermission)

检查指定的主体是否具有指定的权限。

DeleteOwner(IPrincipal, IPrincipal)

删除所有者。

(继承自 IOwner)
Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Entries()

返回此 ACL 中条目的枚举。

Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
GetPermissions(IPrincipal)

返回指定主体的允许权限集(表示单个或组等实体)的枚举。

IsOwner(IPrincipal)

如果给定主体是 ACL 的所有者,则返回 true。

(继承自 IOwner)
RemoveEntry(IPrincipal, IAclEntry)

从此 ACL 中删除 ACL 条目。

SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

表示访问控制列表(ACL)的接口。

(继承自 IJavaPeerable)
SetName(IPrincipal, String)

设置此 ACL 的名称。

SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
ToString()

返回 ACL 内容的字符串表示形式。

UnregisterFromRuntime()

取消注册此实例,使运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

表示访问控制列表(ACL)的接口。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于