Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

RegistryAccessRule-Konstruktor: (String, RegistryRights, AccessControlType)

 

Veröffentlicht: Oktober 2016

Initialisiert eine neue Instanz der RegistryAccessRule -Klasse und gibt den Namen des Benutzers oder der Gruppe, die die Regel für die Zugriffsrechte gilt und gibt an, ob die angegebenen Zugriffsrechte gewährt oder verweigert werden.

Namespace:   System.Security.AccessControl
Assembly:  mscorlib (in mscorlib.dll)

public RegistryAccessRule(
	string identity,
	RegistryRights registryRights,
	AccessControlType type
)

Parameter

identity
Type: System.String

Der Name des Benutzers oder der Gruppe gilt die Regel.

registryRights
Type: System.Security.AccessControl.RegistryRights

Eine bitweise Kombination von RegistryRights Werte, der angibt, die Rechte gewährt oder verweigert.

type
Type: System.Security.AccessControl.AccessControlType

Eines der AccessControlType Werte, der angibt, ob die Rechte gewährt oder verweigert werden.

Exception Condition
ArgumentOutOfRangeException

registryRights Gibt einen ungültigen Wert.

- oder -

type Gibt einen ungültigen Wert.

ArgumentNullException

registryRights ist NULL.

ArgumentException

identity ist null.

- oder -

identity ist eine Zeichenfolge der Länge 0 (null).

- oder -

identity ist länger als 512 Zeichen lang sein.

Dieser Konstruktor gibt die Standardweitergabe und Vererbung. D. h. InheritanceFlags.None und PropagationFlags.None.

Dieser Konstruktor entspricht dem Erstellen einer NTAccount -Objekts und durch übergeben identity an die NTAccount.NTAccount(String) Konstruktor und übergeben das neu erstellte NTAccount -Objekt die RegistryAccessRule(IdentityReference, RegistryRights, AccessControlType) Konstruktor.

Im folgenden Codebeispiel wird erstellt, und fügt sie einer RegistrySecurity -Objekt wie Regeln, zulassen und Verweigern von Benutzerrechten, getrennt, während der gleichen-kompatible Regeln bleiben Kind zusammengeführt werden.

using System;
using Microsoft.Win32;
using System.Security.AccessControl;
using System.Security.Principal;

public class Example
{
    public static void Main()
    {
        // Create a string representing the current user.
        string user = Environment.UserDomainName + "\\"
            + Environment.UserName;

        // Create a security object that grants no access.
        RegistrySecurity mSec = new RegistrySecurity();

        // Add a rule that grants the current user the 
        // right to read the key.
        RegistryAccessRule rule = new RegistryAccessRule(user, 
            RegistryRights.ReadKey, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Add a rule that denies the current user the 
        // right to change permissions on the Registry.
        rule = new RegistryAccessRule(user, 
            RegistryRights.ChangePermissions, 
            AccessControlType.Deny);
        mSec.AddAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);

        // Add a rule that allows the current user the 
        // right to read permissions on the Registry. This 
        // rule is merged with the existing Allow rule.
        rule = new RegistryAccessRule(user, 
            RegistryRights.WriteKey, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        ShowSecurity(mSec);
    }

    private static void ShowSecurity(RegistrySecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach( RegistryAccessRule ar in 
            security.GetAccessRules(true, true, typeof(NTAccount)) )
        {
            Console.WriteLine("        User: {0}", ar.IdentityReference);
            Console.WriteLine("        Type: {0}", ar.AccessControlType);
            Console.WriteLine("      Rights: {0}", ar.RegistryRights);
            Console.WriteLine();
        }
    }
}

/* This code example produces output similar to following:

Current access rules:

        User: TestDomain\TestUser
        Type: Deny
      Rights: ChangePermissions

        User: TestDomain\TestUser
        Type: Allow
      Rights: ReadKey


Current access rules:

        User: TestDomain\TestUser
        Type: Deny
      Rights: ChangePermissions

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, ReadKey
 */

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: