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 值的按位组合,用于修改子项继承规则的方式。 如果 inheritanceFlags 的值为 None,则它没有意义。

type
AccessControlType

AccessControlType 值之一,用于指定是允许还是拒绝相应权限。

返回

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

例外

accessMaskinheritanceFlagspropagationFlagstype 指定了一个无效值。

identityReferencenull

- 或 -

accessMask 为零。

identityReference 既不属于类型 SecurityIdentifier,也不属于可以转换为 NTAccount 类型的类型(如 SecurityIdentifier)。

注解

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

注意

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

适用于