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