SemaphoreSecurity Klasse

Definition

Stellt die Windows-Zugriffssteuerungssicherheit für ein benanntes Semaphor dar. Diese Klasse kann nicht vererbt werden.

public ref class SemaphoreSecurity sealed : System::Security::AccessControl::NativeObjectSecurity
public sealed class SemaphoreSecurity : System.Security.AccessControl.NativeObjectSecurity
[System.Security.SecurityCritical]
public sealed class SemaphoreSecurity : System.Security.AccessControl.NativeObjectSecurity
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class SemaphoreSecurity : System.Security.AccessControl.NativeObjectSecurity
type SemaphoreSecurity = class
    inherit NativeObjectSecurity
[<System.Security.SecurityCritical>]
type SemaphoreSecurity = class
    inherit NativeObjectSecurity
[<System.Runtime.InteropServices.ComVisible(false)>]
type SemaphoreSecurity = class
    inherit NativeObjectSecurity
Public NotInheritable Class SemaphoreSecurity
Inherits NativeObjectSecurity
Vererbung
Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht die Trennung zwischen Allow Regeln und Deny Regeln und zeigt die Kombination von Rechten in kompatiblen Regeln. Das Beispiel erstellt ein SemaphoreSecurity -Objekt, fügt Regeln hinzu, die verschiedene Rechte für den aktuellen Benutzer zulassen und verweigern, und zeigt das resultierende Regelpaar an. Das Beispiel lässt dann neue Rechte für den aktuellen Benutzer zu und zeigt das Ergebnis an, das zeigt, dass die neuen Rechte mit der vorhandenen Allow Regel zusammengeführt werden.

Hinweis

In diesem Beispiel wird das Sicherheitsobjekt nicht an ein Semaphore -Objekt angefügt. Beispiele zum Anfügen von Sicherheitsobjekten finden Sie in Semaphore.GetAccessControl und Semaphore.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.
        SemaphoreSecurity mSec = new SemaphoreSecurity();

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

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

        ShowSecurity(mSec);
    }

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

        foreach(SemaphoreAccessRule 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.SemaphoreRights);
            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
 */
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 SemaphoreSecurity()

        ' Add a rule that grants the current user the 
        ' right to enter or release the semaphore.
        Dim rule As New SemaphoreAccessRule(user, _
            SemaphoreRights.Synchronize _
            Or SemaphoreRights.Modify, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

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

        ShowSecurity(mSec)

    End Sub 

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

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

            Console.WriteLine("        User: {0}", ar.IdentityReference)
            Console.WriteLine("        Type: {0}", ar.AccessControlType)
            Console.WriteLine("      Rights: {0}", ar.SemaphoreRights)
            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

Hinweise

Ein SemaphoreSecurity -Objekt gibt Zugriffsrechte für einen benannten System-Semaphor an und gibt außerdem an, wie Zugriffsversuche überwacht werden. Die Zugriffsrechte für den Semaphor werden als Regeln ausgedrückt, wobei jede Zugriffsregel durch ein SemaphoreAccessRule -Objekt dargestellt wird. Jede Überwachungsregel wird durch ein SemaphoreAuditRule -Objekt dargestellt.

Dies spiegelt das zugrunde liegende Windows-Sicherheitssystem wider, in dem jedes sicherungsfähige Objekt höchstens über eine daCL (Discretionary Access Control List) verfügt, die den Zugriff auf das gesicherte Objekt steuert, und höchstens eine SACL (System Access Control List), die angibt, welche Zugriffsversuche überwacht werden. Die DACL und SACL sind geordnete Listen von Zugriffssteuerungseinträgen (ACE), die den Zugriff und die Überwachung für Benutzer und Gruppen angeben. Ein SemaphoreAccessRule - oder SemaphoreAuditRule -Objekt kann mehrere ACE-Objekte darstellen.

Hinweis

Ein Semaphore -Objekt kann einen lokalen Semaphor oder einen benannten Systemsemaphor darstellen. Die Sicherheit der Windows-Zugriffssteuerung ist nur für benannte System-Semaphore sinnvoll.

Die SemaphoreSecurityKlassen , SemaphoreAccessRuleund SemaphoreAuditRule blenden die Implementierungsdetails von ACLs und ACEs aus. Sie ermöglichen es Ihnen, die siebzehn verschiedenen ACE-Typen und die Komplexität der ordnungsgemäßen Aufrechterhaltung der Vererbung und Weitergabe von Zugriffsrechten zu ignorieren. Diese Objekte wurden auch entwickelt, um die folgenden häufigen Zugriffssteuerungsfehler zu verhindern:

  • Erstellen eines Sicherheitsdeskriptors mit einer NULL-DACL. Ein NULL-Verweis auf eine DACL ermöglicht jedem Benutzer das Hinzufügen von Zugriffsregeln zu einem Objekt, wodurch möglicherweise ein Denial-of-Service-Angriff entsteht. Ein neues SemaphoreSecurity Objekt beginnt immer mit einer leeren DACL, die allen Zugriff für alle Benutzer verweigert.

  • Verstoß gegen die kanonische Reihenfolge von ACEs. Wenn die ACE-Liste in der DACL nicht in der kanonischen Reihenfolge aufbewahrt wird, erhalten Benutzer möglicherweise versehentlich Zugriff auf das gesicherte Objekt. Beispielsweise müssen verweigerte Zugriffsrechte immer vor den zulässigen Zugriffsrechten angezeigt werden. SemaphoreSecurity -Objekte behalten intern die richtige Reihenfolge bei.

  • Bearbeiten von Sicherheitsbeschreibungsflags, die sich nur unter Resource Manager-Kontrolle befinden sollten.

  • Erstellen ungültiger Kombinationen von ACE-Flags.

  • Bearbeiten geerbter ACEs. Vererbung und Weitergabe werden vom Ressourcen-Manager als Reaktion auf Änderungen verarbeitet, die Sie an Zugriffs- und Überwachungsregeln vornehmen.

  • Einfügen bedeutungsloser ACEs in ACLs.

Die einzigen Funktionen, die von den .NET-Sicherheitsobjekten nicht unterstützt werden, sind gefährliche Aktivitäten, die von der Mehrheit der Anwendungsentwickler vermieden werden sollten, z. B. die folgenden:

  • Aufgaben auf niedriger Ebene, die normalerweise vom Ressourcen-Manager ausgeführt werden.

  • Hinzufügen oder Entfernen von Zugriffssteuerungseinträgen auf eine Weise, die die kanonische Reihenfolge nicht aufrechterhalten.

Um die Sicherheit der Windows-Zugriffssteuerung für ein benanntes Semaphor zu ändern, verwenden Sie die Semaphore.GetAccessControl -Methode, um das SemaphoreSecurity -Objekt abzurufen. Ändern Sie das Sicherheitsobjekt, indem Sie Regeln hinzufügen und entfernen, und verwenden Sie dann die Semaphore.SetAccessControl -Methode, um es erneut anzufügen.

Wichtig

Änderungen, die Sie an einem SemaphoreSecurity Objekt vornehmen, wirken sich erst auf die Zugriffsebenen des benannten Semaphors aus, wenn Sie die Semaphore.SetAccessControl -Methode aufrufen, um das geänderte Sicherheitsobjekt dem benannten Semaphor zuzuweisen.

Um die Zugriffssteuerungssicherheit von einem Semaphor in einen anderen zu kopieren, verwenden Sie die Semaphore.GetAccessControl -Methode, um ein SemaphoreSecurity Objekt abzurufen, das die Zugriffs- und Überwachungsregeln für das erste Semaphor darstellt. Verwenden Sie dann die Semaphore.SetAccessControl -Methode oder einen Konstruktor, der ein SemaphoreSecurity -Objekt akzeptiert, um diese Regeln dem zweiten Semaphor zuzuweisen.

Benutzer mit einer Investition in die Sicherheitsdeskriptordefinitionssprache (Security Descriptor Definition Language, SDDL) können die SetSecurityDescriptorSddlForm -Methode verwenden, um Zugriffsregeln für ein benanntes Semaphor festzulegen, und die GetSecurityDescriptorSddlForm -Methode, um eine Zeichenfolge abzurufen, die die Zugriffsregeln im SDDL-Format darstellt. Dies wird für die Neuentwicklung nicht empfohlen.

Konstruktoren

SemaphoreSecurity()

Initialisiert eine neue Instanz der SemaphoreSecurity-Klasse mit Standardwerten.

SemaphoreSecurity(String, AccessControlSections)

Initialisiert eine neue Instanz der SemaphoreSecurity-Klasse mit den angegebenen Abschnitten der Regeln für die Zugriffssteuerungssicherheit aus dem Systemsemaphor mit dem angegebenen Namen.

Eigenschaften

AccessRightType

Ruft die Enumeration ab, mit deren Hilfe die SemaphoreSecurity-Klasse Zugriffsrechte darstellt.

AccessRulesModified

Dient zum Abrufen oder Festlegen eines booleschen Werts, der angibt, ob die Zugriffsregeln, die diesem ObjectSecurity-Objekt zugeordnet sind, geändert wurden.

(Geerbt von ObjectSecurity)
AccessRuleType

Ruft den Typ ab, mit dessen Hilfe die SemaphoreSecurity-Klasse die Zugriffsregeln darstellt.

AreAccessRulesCanonical

Ruft einen booleschen Wert ab, der angibt, ob sich die Zugriffsregeln, die diesem ObjectSecurity-Objekt zugeordnet sind, in kanonischer Reihenfolge befinden.

(Geerbt von ObjectSecurity)
AreAccessRulesProtected

Ruft einen booleschen Wert ab, der angibt, ob die freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist.

(Geerbt von ObjectSecurity)
AreAuditRulesCanonical

Ruft einen booleschen Wert ab, der angibt, ob sich die Überwachungsregeln, die diesem ObjectSecurity-Objekt zugeordnet sind, in kanonischer Reihenfolge befinden.

(Geerbt von ObjectSecurity)
AreAuditRulesProtected

Ruft einen booleschen Wert ab, der angibt, ob die Systemzugriffssteuerungsliste (System Access Control List, SACL), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist.

(Geerbt von ObjectSecurity)
AuditRulesModified

Dient zum Abrufen oder Festlegen eines booleschen Werts, der angibt, ob sich die Überwachungsregeln, die diesem ObjectSecurity-Objekt zugeordnet sind, geändert wurden.

(Geerbt von ObjectSecurity)
AuditRuleType

Ruft den Typ ab, mit dessen Hilfe die SemaphoreSecurity-Klasse Überwachungsregeln darstellt.

GroupModified

Ruft einen booleschen Wert ab, der angibt, ob die Gruppe, die dem sicherungsfähigen Objekt zugeordnet ist, geändert wurde, oder legt diesen booleschen Wert fest.

(Geerbt von ObjectSecurity)
IsContainer

Ruft einen booleschen Wert ab, der angibt, ob das ObjectSecurity-Objekt ein Containerobjekt ist.

(Geerbt von ObjectSecurity)
IsDS

Ruft einen booleschen Wert ab, der angibt, ob das ObjectSecurity-Objekt ein Verzeichnisobjekt ist.

(Geerbt von ObjectSecurity)
OwnerModified

Ruft einen booleschen Wert ab, der angibt, ob der Besitzer des sicherungsfähigen Objekts geändert wurde, oder legt diesen booleschen Wert fest.

(Geerbt von ObjectSecurity)
SecurityDescriptor

Ruft die Sicherheitsbeschreibung für diese Instanz ab

(Geerbt von ObjectSecurity)

Methoden

AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType)

Erstellt eine neue Zugriffssteuerungsregel für den angegebenen Benutzer mit den angegebenen Zugriffsrechten und Flags sowie der angegebenen Zugriffssteuerung.

AddAccessRule(AccessRule)

Fügt der freigegebenen Zugriffssteuerungsliste (DACL – Discretionary Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist, die angegebene Zugriffsregel hinzu.

(Geerbt von CommonObjectSecurity)
AddAccessRule(SemaphoreAccessRule)

Sucht nach einer übereinstimmenden Regel, mit der die neue Regel zusammengeführt werden kann. Wenn keine Regel gefunden wurde, wird die neue Regel hinzugefügt.

AddAuditRule(AuditRule)

Fügt der Systemzugriffssteuerungsliste (SACL – System Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist, die angegebene Überwachungsregel hinzu.

(Geerbt von CommonObjectSecurity)
AddAuditRule(SemaphoreAuditRule)

Sucht nach einer Überwachungsregel, mit der die neue Regel zusammengeführt werden kann. Wenn keine Regel gefunden wurde, wird die neue Regel hinzugefügt.

AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Erstellt eine neue Überwachungsregel, die den Benutzer angibt, auf den diese Regel angewendet wird, sowie die zu überwachenden Zugriffsrechte und das Ergebnis, das die Überwachungsregel auslöst.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetAccessRules(Boolean, Boolean, Type)

Ruft eine Auflistung der Zugriffsregeln ab, die der angegebenen Sicherheits-ID zugeordnet sind.

(Geerbt von CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Ruft eine Auflistung der Überwachungsregeln ab, die der angegebenen Sicherheits-ID zugeordnet sind.

(Geerbt von CommonObjectSecurity)
GetGroup(Type)

Ruft die dem angegebenen Besitzer zugeordnete primäre Gruppe ab.

(Geerbt von ObjectSecurity)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetOwner(Type)

Ruft den der angegebenen primären Gruppe zugeordneten Besitzer ab.

(Geerbt von ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Gibt ein Array von Bytewerten zurück, das die Sicherheitsbeschreibungsinformationen für dieses ObjectSecurity-Objekt darstellt.

(Geerbt von ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Gibt die SDDL-Darstellung (Security Descriptor Definition Language) der angegebenen Abschnitte der diesem ObjectSecurity-Objekt zugeordneten Sicherheitsbeschreibung zurück.

(Geerbt von ObjectSecurity)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Wendet die angegebene Änderung auf die freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL) an, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Wendet die angegebene Änderung auf die freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL) an, die diesem ObjectSecurity-Objekt zugeordnet ist.

(Geerbt von ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Wendet die angegebene Änderung auf die System-Zugriffssteuerungsliste (System Access Control List, SACL) an, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Wendet die angegebene Änderung auf die System-Zugriffssteuerungsliste (System Access Control List, SACL) an, die diesem ObjectSecurity-Objekt zugeordnet ist.

(Geerbt von ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Speichert die angegebenen Abschnitte der diesem ObjectSecurity-Objekt zugeordneten Sicherheitsbeschreibung im dauerhaften Speicher. Die Werte der includeSections-Parameter, die an die Konstruktor- und die Persist-Methoden übergeben werden, sollten identisch sein.

(Geerbt von ObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Speichert die angegebenen Abschnitte der diesem NativeObjectSecurity-Objekt zugeordneten Sicherheitsbeschreibung im dauerhaften Speicher. Die Werte der includeSections-Parameter, die an die Konstruktor- und die Persist-Methoden übergeben werden, sollten identisch sein.

(Geerbt von NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Speichert die angegebenen Abschnitte der diesem NativeObjectSecurity-Objekt zugeordneten Sicherheitsbeschreibung im dauerhaften Speicher. Die Werte der includeSections-Parameter, die an die Konstruktor- und die Persist-Methoden übergeben werden, sollten identisch sein.

(Geerbt von NativeObjectSecurity)
Persist(String, AccessControlSections)

Speichert die angegebenen Abschnitte der diesem NativeObjectSecurity-Objekt zugeordneten Sicherheitsbeschreibung im dauerhaften Speicher. Die Werte der includeSections-Parameter, die an die Konstruktor- und die Persist-Methoden übergeben werden, sollten identisch sein.

(Geerbt von NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Speichert die angegebenen Abschnitte der diesem NativeObjectSecurity-Objekt zugeordneten Sicherheitsbeschreibung im dauerhaften Speicher. Die Werte der includeSections-Parameter, die an die Konstruktor- und die Persist-Methoden übergeben werden, sollten identisch sein.

(Geerbt von NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Entfernt alle Zugriffsregeln, die dem angegebenen IdentityReference zugeordnet sind.

(Geerbt von ObjectSecurity)
PurgeAuditRules(IdentityReference)

Entfernt alle Überwachungsregeln, die dem angegebenen IdentityReference zugeordnet sind.

(Geerbt von ObjectSecurity)
ReadLock()

Sperrt dieses ObjectSecurity-Objekt für den Lesezugriff.

(Geerbt von ObjectSecurity)
ReadUnlock()

Entsperrt dieses ObjectSecurity-Objekt für den Lesezugriff.

(Geerbt von ObjectSecurity)
RemoveAccessRule(AccessRule)

Entfernt Zugriffsregeln, die dieselbe Sicherheits-ID und dieselbe Zugriffsmaske wie die angegebene Zugriffsregel enthalten, aus der DACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
RemoveAccessRule(SemaphoreAccessRule)

Sucht nach einer Zugriffssteuerungsregel mit demselben Benutzer und demselben AccessControlType (gewähren oder verweigern) wie die angegebene Regel sowie mit kompatiblen Vererbungs- und Weitergabeflags. Wenn eine solche Regel gefunden wird, werden die in der angegebenen Zugriffsregel enthaltenen Rechte daraus entfernt.

RemoveAccessRuleAll(AccessRule)

Entfernt alle Zugriffsregeln, die dieselbe Sicherheits-ID enthalten wie die angegebene Zugriffsregel aus der DACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
RemoveAccessRuleAll(SemaphoreAccessRule)

Sucht nach allen Zugriffssteuerungsregeln mit demselben Benutzer und demselben AccessControlType (gewähren oder verweigern) wie die angegebene Regel und entfernt diese (falls vorhanden).

RemoveAccessRuleSpecific(AccessRule)

Entfernt alle Zugriffsregeln, die eine genaue Entsprechung zu der angegebenen Zugriffsregel aus der DACL (Discretionary Access Control List, freigegebene Zugriffssteuerungsliste) bilden, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
RemoveAccessRuleSpecific(SemaphoreAccessRule)

Sucht nach einer Zugriffssteuerungsregel, die genau mit der angegebenen Regel übereinstimmt, und entfernt diese (falls vorhanden).

RemoveAuditRule(AuditRule)

Entfernt Überwachungsregeln, die dieselbe Sicherheits-ID und Zugriffsmaske enthalten wie die angegebene Überwachungsregel aus der SACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
RemoveAuditRule(SemaphoreAuditRule)

Sucht nach einer Überwachungssteuerungsregel mit demselben Benutzer wie die angegebene Regel und mit kompatiblen Vererbungs- und Weitergabeflags; wenn eine solche Regel gefunden wird, werden die in der angegebenen Regel enthaltenen Rechte daraus entfernt.

RemoveAuditRuleAll(AuditRule)

Entfernt alle Überwachungsregeln, die dieselbe Sicherheits-ID wie die angegebene Überwachungsregel aus der SACL enthalten, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
RemoveAuditRuleAll(SemaphoreAuditRule)

Sucht alle Überwachungsregeln, die denselben Benutzer wie die angegebene Regel aufweisen, und entfernt sie, sofern sie gefunden wurden.

RemoveAuditRuleSpecific(AuditRule)

Entfernt alle Überwachungsregeln, die der angegebenen Überwachungsregel genau entsprechen, aus der SACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist.

(Geerbt von CommonObjectSecurity)
RemoveAuditRuleSpecific(SemaphoreAuditRule)

Sucht nach einer Überwachungsregel, die genau mit der angegebenen Regel übereinstimmt, und entfernt diese (falls vorhanden).

ResetAccessRule(AccessRule)

Entfernt alle Zugriffsregeln in der DACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist, und fügt anschließend die angegebene Zugriffsregel hinzu.

(Geerbt von CommonObjectSecurity)
ResetAccessRule(SemaphoreAccessRule)

Entfernt alle Zugriffssteuerungsregeln mit demselben Benutzer wie in der angegebenen Regel, unabhängig von AccessControlType, und fügt anschließend die angegebene Regel hinzu.

SetAccessRule(AccessRule)

Entfernt alle Zugriffsregeln, die dieselbe Sicherheits-ID und denselben Qualifizierer wie die angegebene Zugriffsregel in der DACL enthalten, die diesem CommonObjectSecurity-Objekt zugeordnet ist, und fügt anschließend die angegebene Zugriffsregel hinzu.

(Geerbt von CommonObjectSecurity)
SetAccessRule(SemaphoreAccessRule)

Entfernt alle Zugriffssteuerungsregeln mit demselben Benutzer und demselben AccessControlType (gewähren oder verweigern) wie die angegebene Regel und fügt anschließend die angegebene Regel hinzu.

SetAccessRuleProtection(Boolean, Boolean)

Legt den Schutz der Zugriffsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen Schutz. Geschützte Zugriffsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden.

(Geerbt von ObjectSecurity)
SetAuditRule(AuditRule)

Entfernt alle Überwachungsregeln, die dieselbe Sicherheits-ID und denselben Qualifizierer enthalten wie die angegebene Überwachungsregel in der SACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist, und fügt anschließend die angegebene Zugriffsregel hinzu.

(Geerbt von CommonObjectSecurity)
SetAuditRule(SemaphoreAuditRule)

Entfernt alle Überwachungsregeln mit demselben Benutzer wie in der angegebenen Regel, unabhängig vom AuditFlags-Wert, und fügt danach die angegebene Regel hinzu.

SetAuditRuleProtection(Boolean, Boolean)

Legt den Schutz der Überwachungsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen Schutz. Geschützte Überwachungsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden.

(Geerbt von ObjectSecurity)
SetGroup(IdentityReference)

Legt die primäre Gruppe für die Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist.

(Geerbt von ObjectSecurity)
SetOwner(IdentityReference)

Legt den Besitzer der Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist.

(Geerbt von ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus dem angegebenen Array von Bytewerten fest.

(Geerbt von ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus dem angegebenen Array von Bytewerten fest.

(Geerbt von ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus der angegebenen SDDL-Zeichenfolge (Security Descriptor Definition Language) fest.

(Geerbt von ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus der angegebenen SDDL-Zeichenfolge (Security Descriptor Definition Language) fest.

(Geerbt von ObjectSecurity)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
WriteLock()

Sperrt dieses ObjectSecurity-Objekt für den Schreibzugriff.

(Geerbt von ObjectSecurity)
WriteUnlock()

Entsperrt dieses ObjectSecurity-Objekt für den Schreibzugriff.

(Geerbt von ObjectSecurity)

Gilt für:

Weitere Informationen