CommonAcl 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示访问控制列表 (ACL),并且是 DiscretionaryAcl 和 SystemAcl 类的基类。
public ref class CommonAcl abstract : System::Security::AccessControl::GenericAclpublic abstract class CommonAcl : System.Security.AccessControl.GenericAcltype CommonAcl = class
    inherit GenericAclPublic MustInherit Class CommonAcl
Inherits GenericAcl- 继承
- 派生
注解
- 继承和访问掩码标志的某些组合毫无意义: 
- 已删除具有零访问掩码 (ACE) 的任何访问控制项。 
- 删除对象 ACL 中的仅继承 ACE。 
- InheritOnly ContainerInherit清除叶对象 ACL 中所有 ACE 上的 、NoPropagateInherit、 和 ObjectInherit 标志。 
- 在没有 或 ObjectInherit 标志的情况下具有InheritOnly标志的 ContainerInherit ACE 毫无意义;它们将被删除。 
- NoPropagateInherit可以删除缺少 或 ObjectInherit 标志的ContainerInherit标志。 
- 删除值为 Success 或 Failure 的 ACE,这些 ACE AuditFlags 在任意访问控制列表 (DACL) 。 
- 在 DACL 上,将删除 SystemAudit 和 SystemAlarm ACE。 
- 在 (SCL) 的系统访问控制列表中,将删除 AccessAllowed 和 AccessDenied ACE。 
规范顺序根据以下算法进行维护:
- 显式 ACE 优先于继承的 ACE;此规则同时适用于 DACL 和 SACCL。 
- 在 ACL 中,在显式 ACE 中,拒绝访问的 ACE 优先于允许访问的 ACE。 对于目录对象 ACL,非对象 ACE 先于对象 ACE。 
- 所有常见的 ACE 都优先于非常见 ACE。 
- 继承的 ACE 在 canonicity 之后保持其相对顺序。 
- 在 DACL 和 SACCL 中都不允许识别和自定义 ACE。 
- 在连续范围内, (显式 AccessDenied 和 DACL 上的 AccessAllowed ACE,SCL 上的所有显式 ACE) ,ACE 使用 CompareTo 与 ACE 关联的对象的方法 SecurityIdentifier 进行排序。 
如果适当,将相邻 ACE 组合在一起。 这可以减少 ACL 的大小,而不会影响它授予的访问控制语义。
属性
| BinaryLength | 获取当前 CommonAcl 对象的二进制表示形式的长度(以字节为单位)。 应该在使用 GetBinaryForm(Byte[], Int32) 方法将访问控制列表封送到二进制数组中之前使用此长度。 | 
| Count | 获取当前 CommonAcl 对象中访问控制项 (ACE) 的数量。 | 
| IsCanonical | 获取一个布尔值,该值指定当前 CommonAcl 对象中的访问控制项 (ACE) 是否处于规范顺序。 | 
| IsContainer | 设置 CommonAcl 对象是否为一个容器。 | 
| IsDS | 设置当前 CommonAcl 对象是否为一个目录对象的访问控制列表 (ACL)。 | 
| IsSynchronized | 始终将此属性设置为  | 
| Item[Int32] | 获取或设置指定索引处的 CommonAce。 | 
| Revision | 获取 CommonAcl 的修订级别。 | 
| SyncRoot | 此属性始终返回  | 
方法
| CopyTo(GenericAce[], Int32) | 将当前 GenericAcl 的每个 GenericAce 复制到指定数组。(继承自 GenericAcl) | 
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetBinaryForm(Byte[], Int32) | 将 CommonAcl 对象的内容从指定的偏移量开始封送到指定的字节数组中。 | 
| GetEnumerator() | 检索可用于在访问控制列表 (ACL) 中循环访问访问控制项 (ACE) 的对象。(继承自 GenericAcl) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| Purge(SecurityIdentifier) | 移除被此 CommonAcl 对象包含并且与指定的 SecurityIdentifier 对象关联的所有访问控制项 (ACE)。 | 
| RemoveInheritedAces() | 从此 CommonAcl 对象移除所有继承的访问控制项 (ACE)。 | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) | 
显式接口实现
| ICollection.CopyTo(Array, Int32) | 将当前 GenericAcl 的每个 GenericAce 复制到指定数组。(继承自 GenericAcl) | 
| IEnumerable.GetEnumerator() | 返回 AceEnumerator 类的新实例,该实例被转换为 IEnumerator 接口的实例。(继承自 GenericAcl) | 
扩展方法
| Cast<TResult>(IEnumerable) | 将 IEnumerable 的元素强制转换为指定的类型。 | 
| OfType<TResult>(IEnumerable) | 根据指定类型筛选 IEnumerable 的元素。 | 
| AsParallel(IEnumerable) | 启用查询的并行化。 | 
| AsQueryable(IEnumerable) | 将 IEnumerable 转换为 IQueryable。 |