RegistrySecurity.AccessRuleFactory 方法

定义

使用指定的访问权限、访问控制和标志为指定用户创建新的访问控制规则。

public:
 override System::Security::AccessControl::AccessRule ^ AccessRuleFactory(System::Security::Principal::IdentityReference ^ identityReference, int accessMask, bool isInherited, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AccessControlType type);
public override System.Security.AccessControl.AccessRule AccessRuleFactory(System.Security.Principal.IdentityReference identityReference, int accessMask, bool isInherited, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AccessControlType type);
override this.AccessRuleFactory : System.Security.Principal.IdentityReference * int * bool * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.AccessRule
Public Overrides Function AccessRuleFactory (identityReference As IdentityReference, accessMask As Integer, isInherited As Boolean, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, type As AccessControlType) As AccessRule

参数

identityReference
IdentityReference

一个 IdentityReference 标识规则适用的用户或组。

accessMask
Int32

指定允许或拒绝访问权限的值的 RegistryRights 按位组合,强制转换为整数。

isInherited
Boolean

一个布尔值,该值指定是否继承规则。

inheritanceFlags
InheritanceFlags

指定规则如何由子项继承的值的按位组合 InheritanceFlags

propagationFlags
PropagationFlags

修改规则继承方式的值的 PropagationFlags 按位组合。 如果值为 inheritanceFlagsNone,则毫无意义。

type
AccessControlType

AccessControlType指定是允许还是拒绝权限的值之一。

返回

表示 RegistryAccessRule 指定用户指定权限的对象。

例外

accessMaskinheritanceFlagspropagationFlagstype 指定无效值。

identityReferencenull

-或-

accessMask 为零。

identityReference既不是类型SecurityIdentifier,也不是可以转换为类型的类型NTAccountSecurityIdentifier

注解

创建访问控制规则的建议方法是使用类的 RegistryAccessRule 构造函数。

注释

虽然可以指定 InheritanceFlags.ObjectInherit 标志,但这样做没有意义。 出于访问控制的目的,子项中的名称/值对不是单独的对象。 名称/值对的访问权限由子项的权限控制。 此外,由于所有子项都是容器(即它们可以包含其他子项),因此它们不受标志的影响 ObjectInherit 。 最后,指定 ObjectInherit 标志不需要使规则的维护复杂化,因为它会干扰兼容规则的正常组合。

适用于