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

MutexAccessRule.MutexRights-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft die Rechte gewährt oder verweigert, durch die Regel ab.

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

public MutexRights MutexRights { get; }

Eigenschaftswert

Type: System.Security.AccessControl.MutexRights

Eine bitweise Kombination von MutexRights Werte, der angibt, die Rechte gewährt oder verweigert Sie durch die Regel.

MutexAccessRule -Objekte sind unveränderlich. Sie können eine neue Zugriffsregel darstellt, einen anderen Benutzer, andere Rechte oder eine andere erstellen AccessControlType, jedoch keine vorhandenen Zugriffsregeln ändern.

Das folgende Codebeispiel veranschaulicht die Verwendung von der MutexRights Eigenschaft, um die Rechte in der Menge der in enthaltenen Regeln angezeigt, ein MutexSecurity Objekt. Das Beispiel erstellt eine MutexSecurity -Objekt, wird von Regeln und Regeln hinzugefügt, die für den aktuellen Benutzer verschiedene Rechte gewähren und verweigern. Anschließend können Sie neue Rechte für den aktuellen Benutzer und das Ergebnis wird angezeigt, dass der neuen Rechte mit dem vorhandenen zusammengeführt werden Allow Regel.

System_CAPS_noteHinweis

In diesem Beispiel wird das Sicherheitsobjekt nicht angefügt ein Mutex Objekt. Beispiele, die Sicherheitsobjekte angefügt werden, finden Sie Mutex.GetAccessControl und Mutex.SetAccessControl.

using System;
using System.Threading;
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.
        MutexSecurity mSec = new MutexSecurity();

        // Add a rule that grants the current user the 
        // right to enter or release the mutex.
        MutexAccessRule rule = new MutexAccessRule(user, 
            MutexRights.Synchronize | MutexRights.Modify, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Add a rule that denies the current user the 
        // right to change permissions on the mutex.
        rule = new MutexAccessRule(user, 
            MutexRights.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 mutex. This rule
        // is merged with the existing Allow rule.
        rule = new MutexAccessRule(user, 
            MutexRights.ReadPermissions, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        ShowSecurity(mSec);
    }

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

        foreach(MutexAccessRule 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.MutexRights);
            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: Modify, Synchronize


Current access rules:

        User: TestDomain\TestUser
        Type: Deny
      Rights: ChangePermissions

        User: TestDomain\TestUser
        Type: Allow
      Rights: Modify, ReadPermissions, Synchronize
 */

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