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

EventWaitHandleAccessRule-Klasse

 

Veröffentlicht: Oktober 2016

Stellt einen Satz von Zugriffsrechten gewährt oder verweigert, die für einen Benutzer oder eine Gruppe. Diese Klasse kann nicht vererbt werden.

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

System.Object
  System.Security.AccessControl.AuthorizationRule
    System.Security.AccessControl.AccessRule
      System.Security.AccessControl.EventWaitHandleAccessRule

Public NotInheritable Class EventWaitHandleAccessRule
	Inherits AccessRule

NameBeschreibung
System_CAPS_pubmethodEventWaitHandleAccessRule(IdentityReference, EventWaitHandleRights, AccessControlType)

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

System_CAPS_pubmethodEventWaitHandleAccessRule(String, EventWaitHandleRights, AccessControlType)

Initialisiert eine neue Instanz der EventWaitHandleAccessRule -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.

NameBeschreibung
System_CAPS_pubpropertyAccessControlType

Ruft die AccessControlType zugeordneten Wert AccessRule Objekt.(Geerbt von „AccessRule“.)

System_CAPS_protpropertyAccessMask

Ruft die Zugriffsmaske für diese Regel ab.(Geerbt von „AuthorizationRule“.)

System_CAPS_pubpropertyEventWaitHandleRights

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

System_CAPS_pubpropertyIdentityReference

Ruft den IdentityReference ab, für den diese Regel gilt.(Geerbt von „AuthorizationRule“.)

System_CAPS_pubpropertyInheritanceFlags

Ruft den Wert von Flags ab, die bestimmen, wie diese Regel von untergeordneten Objekten geerbt wird.(Geerbt von „AuthorizationRule“.)

System_CAPS_pubpropertyIsInherited

Ruft einen Wert ab, der angibt, ob diese Regel explizit festgelegt oder von einem übergeordneten Containerobjekt geerbt wird.(Geerbt von „AuthorizationRule“.)

System_CAPS_pubpropertyPropagationFlags

Ruft den Wert der Weitergabeflags ab, die bestimmen, wie die Vererbung dieser Regel an untergeordnete Objekte weitergegeben wird. Diese Eigenschaft ist nur dann wesentlich, wenn der Wert der InheritanceFlags-Enumeration nicht None ist.(Geerbt von „AuthorizationRule“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

Die EventWaitHandleAccessRule Klasse ist eine von einer Reihe von Klassen, die .NET Framework bietet für die Verwaltung von Windows-zugriffssteuerungssicherheit auf benannte Systemereignisse. Eine Übersicht über diese Klassen und ihre Beziehung zu den zugrunde liegenden Windows Zugriffssteuerungsstrukturen, finden Sie unter EventWaitHandleSecurity.

System_CAPS_noteHinweis

Windows-zugriffssteuerungssicherheit ist nur für benannte Systemereignisse relevant. Wenn ein EventWaitHandle -Objekt stellt ein lokales Ereignis, Access Control ist irrelevant.

Verwenden Sie zum Abrufen einer Liste der derzeit auf ein benanntes Ereignis angewendeten Regeln die EventWaitHandle.GetAccessControl Methode zum Abrufen einer EventWaitHandleSecurity Objekt, und verwenden Sie dann seine GetAccessRules Methode zum Abrufen einer Auflistung von EventWaitHandleAccessRule Objekte.

EventWaitHandleAccessRule Objekte werden nicht mit Zugriffssteuerungseinträgen in der zugrunde liegenden discretionary Access Control List (DACL) eins zu eins zugeordnet. Wenn Sie den Satz von allen Regeln für ein Ereignis erhalten, enthält der Satz die minimale Anzahl von Regeln, die derzeit zur Beschreibung aller Zugriffssteuerungseinträge erforderlich.

System_CAPS_noteHinweis

Die zugrunde liegenden Zugriffssteuerungseinträge ändern, da Sie Regeln anwenden oder entfernen. Die Informationen in Regeln wird wenn möglich, zusammengeführt, um die kleinste Anzahl von Einträgen zu gewährleisten. Also, wenn Sie die aktuelle Liste der Regeln erhalten, kann es nicht genau wie die Liste aller Regeln aussieht, die Sie hinzugefügt haben.

Verwendung EventWaitHandleAccessRule Objekte, um die Zugriffsrechte gewähren oder verweigern einem Benutzer oder die Gruppe anzugeben. Ein EventWaitHandleAccessRule -Objekt stellt immer Zugriff oder verweigerten Zugriff, nicht beide.

Um eine Regel auf ein benanntes Ereignis anwenden möchten, verwenden Sie die EventWaitHandle.GetAccessControl Methode zum Abrufen der EventWaitHandleSecurity Objekt. Ändern der EventWaitHandleSecurity Objekt mit der Methode, um die Regel hinzuzufügen, und verwenden Sie dann die EventWaitHandle.SetAccessControl Methode, um das Sicherheitsobjekt erneut anzufügen.

System_CAPS_importantWichtig

Änderungen an einer EventWaitHandleSecurity Objekt wirken sich nicht auf die Zugriffsebenen für das benannte Ereignis erst nach dem Aufruf der EventWaitHandle.SetAccessControl Methode, um das benannte Ereignis das geänderte Objekt zuweisen.

EventWaitHandleAccessRule -Objekte sind unveränderlich. Sicherheit für ein Ereignis wird mit den Methoden des geändert, die EventWaitHandleSecurity Klasse hinzufügen oder Entfernen von Regeln, wie Sie dies tun, werden die zugrunde liegenden Zugriffssteuerungseinträge geändert.

System_CAPS_noteHinweis

Sicherheit auf Synchronisierungsobjekte ist für Windows 98 oder Windows Millennium Edition nicht unterstützt.

Das folgende Codebeispiel veranschaulicht die Erstellung und Verwendung von EventWaitHandleAccessRule Objekte. Das Beispiel erstellt eine EventWaitHandleSecurity -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 AllowRegel.

System_CAPS_noteHinweis

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

Imports System
Imports System.Threading
Imports System.Security.AccessControl
Imports System.Security.Principal

Public Class Example

    Public Shared Sub Main()

        ' Create a string representing the current user.
        Dim user As String = Environment.UserDomainName _ 
            & "\" & Environment.UserName

        ' Create a security object that grants no access.
        Dim mSec As New EventWaitHandleSecurity()

        ' Add a rule that grants the current user the 
        ' right to wait on or signal the event.
        Dim rule As New EventWaitHandleAccessRule(user, _
            EventWaitHandleRights.Synchronize _
            Or EventWaitHandleRights.Modify, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Add a rule that denies the current user the 
        ' right to change permissions on the event.
        rule = New EventWaitHandleAccessRule(user, _
            EventWaitHandleRights.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 event. This rule
        ' is merged with the existing Allow rule.
        rule = New EventWaitHandleAccessRule(user, _
            EventWaitHandleRights.ReadPermissions, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ShowSecurity(mSec)

    End Sub 

    Private Shared Sub ShowSecurity(ByVal security As EventWaitHandleSecurity)
        Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)

        For Each ar As EventWaitHandleAccessRule In _
            security.GetAccessRules(True, True, GetType(NTAccount))

            Console.WriteLine("        User: {0}", ar.IdentityReference)
            Console.WriteLine("        Type: {0}", ar.AccessControlType)
            Console.WriteLine("      Rights: {0}", ar.EventWaitHandleRights)
            Console.WriteLine()
        Next

    End Sub
End Class 

'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

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: