CommonSecurityDescriptor 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 CommonSecurityDescriptor 类的新实例。
重载
CommonSecurityDescriptor(Boolean, Boolean, RawSecurityDescriptor)
从指定的 CommonSecurityDescriptor 对象初始化 RawSecurityDescriptor 类的新实例。
public:
CommonSecurityDescriptor(bool isContainer, bool isDS, System::Security::AccessControl::RawSecurityDescriptor ^ rawSecurityDescriptor);
public CommonSecurityDescriptor (bool isContainer, bool isDS, System.Security.AccessControl.RawSecurityDescriptor rawSecurityDescriptor);
new System.Security.AccessControl.CommonSecurityDescriptor : bool * bool * System.Security.AccessControl.RawSecurityDescriptor -> System.Security.AccessControl.CommonSecurityDescriptor
Public Sub New (isContainer As Boolean, isDS As Boolean, rawSecurityDescriptor As RawSecurityDescriptor)
参数
- isContainer
- Boolean
如果新的安全性说明符与某个容器对象关联,则为 true
。
- isDS
- Boolean
如果新的安全性说明符与某个目录对象关联,则为 true
。
- rawSecurityDescriptor
- RawSecurityDescriptor
用来从中创建新 RawSecurityDescriptor 对象的 CommonSecurityDescriptor 对象。
注解
如果从中 RawSecurityDescriptor 创建新对象的基础安全描述符包含 null
其任意访问控制列表 (DACL) ,则会向 DACL 添加一个允许所有人完全访问 (的 AEFA) (ACE) ) 。 如果应用程序修改已向其添加 AEFA ACE 的安全描述符的 DACL,则保留该 DACL 时,AEFA ACE 会随 DACL 一起保留。
这可能会导致应用程序无意中允许访问主体。 因此,应用程序应检查是否存在 AEFA ACE,并在修改任何安全描述符之前将其删除。
适用于
CommonSecurityDescriptor(Boolean, Boolean, String)
使用指定的安全性说明符定义语言 (SDDL) 字符串初始化 CommonSecurityDescriptor 类的新实例。
public:
CommonSecurityDescriptor(bool isContainer, bool isDS, System::String ^ sddlForm);
public CommonSecurityDescriptor (bool isContainer, bool isDS, string sddlForm);
new System.Security.AccessControl.CommonSecurityDescriptor : bool * bool * string -> System.Security.AccessControl.CommonSecurityDescriptor
Public Sub New (isContainer As Boolean, isDS As Boolean, sddlForm As String)
参数
- isContainer
- Boolean
如果新的安全性说明符与某个容器对象关联,则为 true
。
- isDS
- Boolean
如果新的安全性说明符与某个目录对象关联,则为 true
。
- sddlForm
- String
用于创建新 CommonSecurityDescriptor 对象的 SDDL 字符串。
注解
如果从中 RawSecurityDescriptor 创建新对象的基础安全描述符包含 null
其任意访问控制列表 (DACL) ,则会向 DACL 添加一个允许所有人完全访问 (的 AEFA) (ACE) ) 。 如果应用程序修改已向其添加 AEFA ACE 的安全描述符的 DACL,则保留该 DACL 时,AEFA ACE 会随 DACL 一起保留。
这可能会导致应用程序无意中允许访问主体。 因此,应用程序应检查是否存在 AEFA ACE,并在修改任何安全描述符之前将其删除。
适用于
CommonSecurityDescriptor(Boolean, Boolean, Byte[], Int32)
使用指定的字节值数组初始化 CommonSecurityDescriptor 类的新实例。
public:
CommonSecurityDescriptor(bool isContainer, bool isDS, cli::array <System::Byte> ^ binaryForm, int offset);
public CommonSecurityDescriptor (bool isContainer, bool isDS, byte[] binaryForm, int offset);
new System.Security.AccessControl.CommonSecurityDescriptor : bool * bool * byte[] * int -> System.Security.AccessControl.CommonSecurityDescriptor
Public Sub New (isContainer As Boolean, isDS As Boolean, binaryForm As Byte(), offset As Integer)
参数
- isContainer
- Boolean
如果新的安全性说明符与某个容器对象关联,则为 true
。
- isDS
- Boolean
如果新的安全性说明符与某个目录对象关联,则为 true
。
- binaryForm
- Byte[]
用于创建新的 CommonSecurityDescriptor 对象的字节值数组。
- offset
- Int32
binaryForm
数组中的偏移量,在此位置开始复制。
注解
如果从中创建新 RawSecurityDescriptor 对象的基础安全描述符包含 null
其自由访问控制列表 (DACL) ,则会将一个访问控制项 (ACE) 添加到 DACL (AEFA) 。 如果应用程序修改已向其添加 AEFA ACE 的安全描述符的 DACL,则保留该 DACL 时,AEFA ACE 会随 DACL 一起保留。
这可能会导致应用程序无意中允许访问主体。 因此,应用程序应检查是否存在 AEFA ACE,并在修改任何安全描述符之前将其删除。
适用于
CommonSecurityDescriptor(Boolean, Boolean, ControlFlags, SecurityIdentifier, SecurityIdentifier, SystemAcl, DiscretionaryAcl)
使用指定信息初始化 CommonSecurityDescriptor 类的新实例。
public:
CommonSecurityDescriptor(bool isContainer, bool isDS, System::Security::AccessControl::ControlFlags flags, System::Security::Principal::SecurityIdentifier ^ owner, System::Security::Principal::SecurityIdentifier ^ group, System::Security::AccessControl::SystemAcl ^ systemAcl, System::Security::AccessControl::DiscretionaryAcl ^ discretionaryAcl);
public CommonSecurityDescriptor (bool isContainer, bool isDS, System.Security.AccessControl.ControlFlags flags, System.Security.Principal.SecurityIdentifier owner, System.Security.Principal.SecurityIdentifier group, System.Security.AccessControl.SystemAcl systemAcl, System.Security.AccessControl.DiscretionaryAcl discretionaryAcl);
public CommonSecurityDescriptor (bool isContainer, bool isDS, System.Security.AccessControl.ControlFlags flags, System.Security.Principal.SecurityIdentifier? owner, System.Security.Principal.SecurityIdentifier? group, System.Security.AccessControl.SystemAcl? systemAcl, System.Security.AccessControl.DiscretionaryAcl? discretionaryAcl);
new System.Security.AccessControl.CommonSecurityDescriptor : bool * bool * System.Security.AccessControl.ControlFlags * System.Security.Principal.SecurityIdentifier * System.Security.Principal.SecurityIdentifier * System.Security.AccessControl.SystemAcl * System.Security.AccessControl.DiscretionaryAcl -> System.Security.AccessControl.CommonSecurityDescriptor
Public Sub New (isContainer As Boolean, isDS As Boolean, flags As ControlFlags, owner As SecurityIdentifier, group As SecurityIdentifier, systemAcl As SystemAcl, discretionaryAcl As DiscretionaryAcl)
参数
- isContainer
- Boolean
如果新的安全性说明符与某个容器对象关联,则为 true
。
- isDS
- Boolean
如果新的安全性说明符与某个目录对象关联,则为 true
。
- flags
- ControlFlags
指定新的 CommonSecurityDescriptor 对象的行为的标志。
- owner
- SecurityIdentifier
新 CommonSecurityDescriptor 对象的所有者。
- group
- SecurityIdentifier
新 CommonSecurityDescriptor 对象的主要组。
- systemAcl
- SystemAcl
新的 CommonSecurityDescriptor 对象的系统访问控制列表 (SACL)。
- discretionaryAcl
- DiscretionaryAcl
新的 CommonSecurityDescriptor 对象的自由访问控制列表 (DACL)。
注解
如果从中 RawSecurityDescriptor 创建新对象的基础安全描述符包含 null
其任意访问控制列表 (DACL) ,则会向 DACL 添加一个允许所有人完全访问 (的 AEFA) (ACE) ) 。 如果应用程序修改已向其添加 AEFA ACE 的安全描述符的 DACL,则保留该 DACL 时,AEFA ACE 会随 DACL 一起保留。
这可能会导致应用程序无意中允许访问主体。 因此,应用程序应检查是否存在 AEFA ACE,并在修改任何安全描述符之前将其删除。