AccessControlList 类

定义

包含一个访问控制项列表,这些项为一个或多个受信者指定访问权限。

public ref class AccessControlList : System::Collections::CollectionBase
public class AccessControlList : System.Collections.CollectionBase
type AccessControlList = class
    inherit CollectionBase
Public Class AccessControlList
Inherits CollectionBase
继承
AccessControlList

注解

AccessControlList使用 类指定多个受信人和访问权限,在设置权限时,只需调用一次即可添加。 通过为每个受信人添加访问控制项和访问权限组合来构造访问控制列表。

标识 AccessControlList 允许或拒绝访问安全对象的受信人。 当进程尝试访问安全对象时,系统会检查该对象的访问控制列表中的访问控制条目,以确定是否向其授予访问权限。 如果对象没有访问控制列表,则系统会授予对所有内容的完全访问权限。 如果对象的访问控制列表没有条目,系统将拒绝访问该对象的所有尝试。

系统按顺序检查访问控制条目,直到找到一个或多个允许所有请求的访问权限,或者直到拒绝任何请求的访问权限。

系统按顺序检查每个 AccessControlEntry 事件,直到发生以下事件之一:

  • 拒绝访问 AccessControlEntry 显式拒绝对线程的访问令牌中列出的某个受信人的任何请求访问权限。

  • 线程的访问令牌中列出的受信人的一个或多个允许 AccessControlEntry 访问的项显式授予所有请求的访问权限。

  • 所有 AccessControlEntry 项都已检查,但仍至少有一个未明确允许的请求访问权限,在这种情况下,将隐式拒绝访问。

构造函数

AccessControlList()

初始化 AccessControlList 类的新实例。

属性

Capacity

获取或设置 CollectionBase 可包含的元素数。

(继承自 CollectionBase)
Count

获取 CollectionBase 实例中包含的元素数。 不能重写此属性。

(继承自 CollectionBase)
InnerList

获取一个 ArrayList,它包含 CollectionBase 实例中元素的列表。

(继承自 CollectionBase)
List

获取一个 IList,它包含 CollectionBase 实例中元素的列表。

(继承自 CollectionBase)

方法

Add(AccessControlEntry)

将访问控制项追加到访问控制列表。

Clear()

CollectionBase 实例移除所有对象。 不能重写此方法。

(继承自 CollectionBase)
Contains(AccessControlEntry)

确定访问控制列表是否包含特定的访问控制项。

CopyTo(AccessControlEntry[], Int32)

将整个访问控制列表复制到访问控制项的兼容的一维数组,并且从目标数组的指定索引开始。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetEnumerator()

返回循环访问 CollectionBase 实例的枚举器。

(继承自 CollectionBase)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
IndexOf(AccessControlEntry)

确定访问控制列表中访问控制项的特定索引。

Insert(Int32, AccessControlEntry)

将访问控制项插入访问控制列表中的指定位置处。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnClear()

清除 CollectionBase 实例的内容时执行其他自定义进程。

(继承自 CollectionBase)
OnClearComplete()

在清除 CollectionBase 实例的内容之后执行其他自定义进程。

(继承自 CollectionBase)
OnInsert(Int32, Object)

在向 CollectionBase 实例中插入新元素之前执行其他自定义进程。

(继承自 CollectionBase)
OnInsertComplete(Int32, Object)

在向 CollectionBase 实例中插入新元素之后执行其他自定义进程。

(继承自 CollectionBase)
OnRemove(Int32, Object)

当从 CollectionBase 实例移除元素时执行其他自定义进程。

(继承自 CollectionBase)
OnRemoveComplete(Int32, Object)

在从 CollectionBase 实例中移除元素之后执行其他自定义进程。

(继承自 CollectionBase)
OnSet(Int32, Object, Object)

当在 CollectionBase 实例中设置值之前执行其他自定义进程。

(继承自 CollectionBase)
OnSetComplete(Int32, Object, Object)

当在 CollectionBase 实例中设置值后执行其他自定义进程。

(继承自 CollectionBase)
OnValidate(Object)

当验证值时执行其他自定义进程。

(继承自 CollectionBase)
Remove(AccessControlEntry)

从访问控制列表移除特定访问控制项的第一个匹配项。

RemoveAt(Int32)

移除 CollectionBase 实例的指定索引处的元素。 此方法不可重写。

(继承自 CollectionBase)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

ICollection.CopyTo(Array, Int32)

从目标数组的指定索引处开始将整个 CollectionBase 复制到兼容的一维 Array

(继承自 CollectionBase)
ICollection.IsSynchronized

获取一个值,该值指示是否同步对 CollectionBase 的访问(线程安全)。

(继承自 CollectionBase)
ICollection.SyncRoot

获取可用于同步对 CollectionBase 的访问的对象。

(继承自 CollectionBase)
IList.Add(Object)

将对象添加到 CollectionBase 的结尾处。

(继承自 CollectionBase)
IList.Contains(Object)

确定 CollectionBase 是否包含特定元素。

(继承自 CollectionBase)
IList.IndexOf(Object)

搜索指定的 Object,并返回整个 CollectionBase 中第一个匹配项的从零开始的索引。

(继承自 CollectionBase)
IList.Insert(Int32, Object)

将元素插入 CollectionBase 的指定索引处。

(继承自 CollectionBase)
IList.IsFixedSize

获取一个值,该值指示 CollectionBase 是否具有固定大小。

(继承自 CollectionBase)
IList.IsReadOnly

获取一个值,该值指示 CollectionBase 是否为只读。

(继承自 CollectionBase)
IList.Item[Int32]

获取或设置指定索引处的元素。

(继承自 CollectionBase)
IList.Remove(Object)

CollectionBase 中移除特定对象的第一个匹配项。

(继承自 CollectionBase)

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

适用于

另请参阅