RegistrySecurity Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt de Windows beveiliging voor toegangsbeheer voor een registersleutel. Deze klasse kan niet worden overgenomen.
public ref class RegistrySecurity sealed : System::Security::AccessControl::NativeObjectSecurity
public sealed class RegistrySecurity : System.Security.AccessControl.NativeObjectSecurity
type RegistrySecurity = class
inherit NativeObjectSecurity
Public NotInheritable Class RegistrySecurity
Inherits NativeObjectSecurity
- Overname
Voorbeelden
Deze sectie bevat twee codevoorbeelden. In het eerste voorbeeld ziet u hoe compatibele regels worden samengevoegd wanneer ze worden toegevoegd en verwijderd, en in het tweede voorbeeld ziet u hoe overname- en doorgiftevlagmen van invloed zijn op het toevoegen en verwijderen van regels.
Voorbeeld 1
In het volgende codevoorbeeld ziet u hoe de RemoveAccessRule methode rechten verwijdert uit een compatibele regel en hoe de AddAccessRule methode rechten met compatibele regels samenvoegt.
In het voorbeeld wordt een RegistrySecurity object gemaakt en wordt een regel toegevoegd waarmee de huidige gebruikersrechten RegistryRights.ReadKey worden toegestaan. In het voorbeeld wordt vervolgens een regel gemaakt die de gebruiker RegistryRights.SetValueverleent, met dezelfde overname- en doorgifterechten als de eerste regel, en de RemoveAccessRule methode gebruikt om deze nieuwe regel uit het RegistrySecurity object te verwijderen. SetValue is een onderdeel van ReadKey, dus het wordt verwijderd uit de compatibele regel. De regels in het RegistrySecurity object worden weergegeven, met de resterende onderdelen van ReadKey.
Met de voorbeeldcode wordt vervolgens de methode aangeroepen om de AddAccessRuleSetValue rechterback-up samen te voegen in de regel in het RegistrySecurity object.
Note
In dit voorbeeld wordt het beveiligingsobject niet gekoppeld aan een RegistryKey object. In het tweede voorbeeld in deze sectie wordt een beveiligingsobject gekoppeld en worden de voorbeelden in RegistryKey.GetAccessControl en RegistryKey.SetAccessControl.
using System;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Security;
using Microsoft.Win32;
public class Example
{
public static void Main()
{
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 ReadKey
// rights. ReadKey is a combination of four other
// rights. The rule is inherited by all
// contained subkeys.
RegistryAccessRule rule = new RegistryAccessRule(user,
RegistryRights.ReadKey,
InheritanceFlags.ContainerInherit,
PropagationFlags.None,
AccessControlType.Allow);
mSec.AddAccessRule(rule);
// Create a rule that allows the current user only the
// right to query the key/value pairs of a key, using
// the same inheritance and propagation flags as the
// first rule. QueryValues is a constituent of
// ReadKey, so when this rule is removed, using the
// RemoveAccessRule method, ReadKey is broken into
// its constituent parts.
rule = new RegistryAccessRule(user,
RegistryRights.QueryValues,
InheritanceFlags.ContainerInherit,
PropagationFlags.None,
AccessControlType.Allow);
mSec.RemoveAccessRule(rule);
// Display the rules in the security object.
ShowSecurity(mSec);
// Add the second rule back. It merges with the
// existing rule, so that the rule is now displayed
// as ReadKey.
mSec.AddAccessRule(rule);
// Display the rules in the security object.
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(" Inheritance: {0}", ar.InheritanceFlags);
Console.WriteLine(" Propagation: {0}", ar.PropagationFlags);
Console.WriteLine(" Inherited? {0}", ar.IsInherited);
Console.WriteLine();
}
}
}
/* This code example produces output similar to following:
Current access rules:
User: TestDomain\TestUser
Type: Allow
Rights: EnumerateSubKeys, Notify, ReadPermissions
Inheritance: ContainerInherit
Propagation: None
Inherited? False
Current access rules:
User: TestDomain\TestUser
Type: Allow
Rights: ReadKey
Inheritance: ContainerInherit
Propagation: None
Inherited? False
*/
Option Explicit
Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.Security
Imports Microsoft.Win32
Public Class Example
Public Shared Sub Main()
Dim user As String = Environment.UserDomainName _
& "\" & Environment.UserName
' Create a security object that grants no access.
Dim mSec As New RegistrySecurity()
' Add a rule that grants the current user ReadKey
' rights. ReadKey is a combination of four other
' rights. The rule is inherited by all
' contained subkeys.
Dim rule As New RegistryAccessRule(user, _
RegistryRights.ReadKey, _
InheritanceFlags.ContainerInherit, _
PropagationFlags.None, _
AccessControlType.Allow)
mSec.AddAccessRule(rule)
' Create a rule that allows the current user only the
' right to query the key/value pairs of a key, using
' the same inheritance and propagation flags as the
' first rule. QueryValues is a constituent of
' ReadKey, so when this rule is removed, using the
' RemoveAccessRule method, ReadKey is broken into
' its constituent parts.
rule = New RegistryAccessRule(user, _
RegistryRights.QueryValues, _
InheritanceFlags.ContainerInherit, _
PropagationFlags.None, _
AccessControlType.Allow)
mSec.RemoveAccessRule(rule)
' Display the rules in the security object.
ShowSecurity(mSec)
' Add the second rule back. It merges with the
' existing rule, so that the rule is now displayed
' as ReadKey.
mSec.AddAccessRule(rule)
' Display the rules in the security object.
ShowSecurity(mSec)
End Sub
Private Shared Sub ShowSecurity(ByVal security As RegistrySecurity)
Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)
For Each ar As RegistryAccessRule In _
security.GetAccessRules(True, True, GetType(NTAccount))
Console.WriteLine(" User: {0}", ar.IdentityReference)
Console.WriteLine(" Type: {0}", ar.AccessControlType)
Console.WriteLine(" Rights: {0}", ar.RegistryRights)
Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags)
Console.WriteLine(" Propagation: {0}", ar.PropagationFlags)
Console.WriteLine(" Inherited? {0}", ar.IsInherited)
Console.WriteLine()
Next
End Sub
End Class
'This code example produces output similar to following:
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: EnumerateSubKeys, Notify, ReadPermissions
' Inheritance: ContainerInherit
' Propagation: None
' Inherited? False
'
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: ReadKey
' Inheritance: ContainerInherit
' Propagation: None
' Inherited? False
'
Voorbeeld 2
In het volgende codevoorbeeld ziet u toegangsregels met overname en doorgifte. In het voorbeeld wordt een RegistrySecurity object gemaakt en vervolgens twee regels toegevoegd met de ContainerInherit vlag. De eerste regel heeft geen doorgiftevlagmen, terwijl de tweede en NoPropagateInheritInheritOnly.
Het programma geeft de regels in het RegistrySecurity object weer en gebruikt vervolgens het RegistrySecurity object om een subsleutel te maken. Het programma maakt een onderliggende subsleutel en een subsleutel met kleinkind en geeft vervolgens de beveiliging voor elke subsleutel weer. Ten slotte verwijdert het programma de testsleutels.
using System;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Security;
using Microsoft.Win32;
public class Example
{
public static void Main()
{
const string TestKey = "TestKey3927";
RegistryKey cu = Registry.CurrentUser;
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 and enumerate the name/value pairs in a key,
// to read its access and audit rules, to enumerate
// its subkeys, to create subkeys, and to delete the key.
// The rule is inherited by all contained subkeys.
//
RegistryAccessRule rule = new RegistryAccessRule(user,
RegistryRights.ReadKey | RegistryRights.WriteKey
| RegistryRights.Delete,
InheritanceFlags.ContainerInherit,
PropagationFlags.None,
AccessControlType.Allow
);
mSec.AddAccessRule(rule);
// Add a rule that allows the current user the right
// right to set the name/value pairs in a key.
// This rule is inherited by contained subkeys, but
// propagation flags limit it to immediate child
// subkeys.
rule = new RegistryAccessRule(user,
RegistryRights.ChangePermissions,
InheritanceFlags.ContainerInherit,
PropagationFlags.InheritOnly |
PropagationFlags.NoPropagateInherit,
AccessControlType.Allow);
mSec.AddAccessRule(rule);
// Display the rules in the security object.
ShowSecurity(mSec);
// Create the test key using the security object.
//
RegistryKey rk = cu.CreateSubKey(TestKey,
RegistryKeyPermissionCheck.ReadWriteSubTree, mSec);
// Create a child subkey and a grandchild subkey,
// without security.
RegistryKey rkChild = rk.CreateSubKey("ChildKey",
RegistryKeyPermissionCheck.ReadWriteSubTree);
RegistryKey rkGrandChild =
rkChild.CreateSubKey("GrandChildKey",
RegistryKeyPermissionCheck.ReadWriteSubTree);
Show(rk);
Show(rkChild);
Show(rkGrandChild);
rkGrandChild.Close();
rkChild.Close();
rk.Close();
cu.DeleteSubKeyTree(TestKey);
}
private static void Show(RegistryKey rk)
{
Console.WriteLine(rk.Name);
ShowSecurity(rk.GetAccessControl());
}
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(" Inheritance: {0}", ar.InheritanceFlags);
Console.WriteLine(" Propagation: {0}", ar.PropagationFlags);
Console.WriteLine(" Inherited? {0}", ar.IsInherited);
Console.WriteLine();
}
}
}
/* This code example produces output similar to following:
Current access rules:
User: TestDomain\TestUser
Type: Allow
Rights: SetValue, CreateSubKey, Delete, ReadKey
Inheritance: ContainerInherit
Propagation: None
Inherited? False
User: TestDomain\TestUser
Type: Allow
Rights: ChangePermissions
Inheritance: ContainerInherit
Propagation: NoPropagateInherit, InheritOnly
Inherited? False
HKEY_CURRENT_USER\TestKey3927
Current access rules:
User: TestDomain\TestUser
Type: Allow
Rights: SetValue, CreateSubKey, Delete, ReadKey
Inheritance: ContainerInherit
Propagation: None
Inherited? False
User: TestDomain\TestUser
Type: Allow
Rights: ChangePermissions
Inheritance: ContainerInherit
Propagation: NoPropagateInherit, InheritOnly
Inherited? False
HKEY_CURRENT_USER\TestKey3927\ChildKey
Current access rules:
User: TestDomain\TestUser
Type: Allow
Rights: SetValue, CreateSubKey, Delete, ReadKey
Inheritance: ContainerInherit
Propagation: None
Inherited? True
User: TestDomain\TestUser
Type: Allow
Rights: ChangePermissions
Inheritance: None
Propagation: None
Inherited? True
HKEY_CURRENT_USER\TestKey3927\ChildKey\GrandChildKey
Current access rules:
User: TestDomain\TestUser
Type: Allow
Rights: SetValue, CreateSubKey, Delete, ReadKey
Inheritance: ContainerInherit
Propagation: None
Inherited? True
*/
Option Explicit
Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.Security
Imports Microsoft.Win32
Public Class Example
Public Shared Sub Main()
Const TestKey As String = "TestKey3927"
Dim cu As RegistryKey = Registry.CurrentUser
Dim user As String = Environment.UserDomainName _
& "\" & Environment.UserName
' Create a security object that grants no access.
Dim mSec As New RegistrySecurity()
' Add a rule that grants the current user the right
' to read and enumerate the name/value pairs in a key,
' to read its access and audit rules, to enumerate
' its subkeys, to create subkeys, and to delete the key.
' The rule is inherited by all contained subkeys.
'
Dim rule As New RegistryAccessRule(user, _
RegistryRights.ReadKey Or RegistryRights.WriteKey _
Or RegistryRights.Delete, _
InheritanceFlags.ContainerInherit, _
PropagationFlags.None, _
AccessControlType.Allow)
mSec.AddAccessRule(rule)
' Add a rule that allows the current user the right
' right to set the name/value pairs in a key.
' This rule is inherited by contained subkeys, but
' propagation flags limit it to immediate child
' subkeys.
rule = New RegistryAccessRule(user, _
RegistryRights.ChangePermissions, _
InheritanceFlags.ContainerInherit, _
PropagationFlags.InheritOnly Or PropagationFlags.NoPropagateInherit, _
AccessControlType.Allow)
mSec.AddAccessRule(rule)
' Display the rules in the security object.
ShowSecurity(mSec)
' Create the test key using the security object.
'
Dim rk As RegistryKey = cu.CreateSubKey(TestKey, _
RegistryKeyPermissionCheck.ReadWriteSubTree, _
mSec)
' Create a child subkey and a grandchild subkey,
' without security.
Dim rkChild As RegistryKey= rk.CreateSubKey("ChildKey", _
RegistryKeyPermissionCheck.ReadWriteSubTree)
Dim rkGrandChild As RegistryKey = _
rkChild.CreateSubKey("GrandChildKey", _
RegistryKeyPermissionCheck.ReadWriteSubTree)
Show(rk)
Show(rkChild)
Show(rkGrandChild)
rkGrandChild.Close()
rkChild.Close()
rk.Close()
cu.DeleteSubKeyTree(TestKey)
End Sub
Private Shared Sub Show(ByVal rk As RegistryKey)
Console.WriteLine(rk.Name)
ShowSecurity(rk.GetAccessControl())
End Sub
Private Shared Sub ShowSecurity(ByVal security As RegistrySecurity)
Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)
For Each ar As RegistryAccessRule In _
security.GetAccessRules(True, True, GetType(NTAccount))
Console.WriteLine(" User: {0}", ar.IdentityReference)
Console.WriteLine(" Type: {0}", ar.AccessControlType)
Console.WriteLine(" Rights: {0}", ar.RegistryRights)
Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags)
Console.WriteLine(" Propagation: {0}", ar.PropagationFlags)
Console.WriteLine(" Inherited? {0}", ar.IsInherited)
Console.WriteLine()
Next
End Sub
End Class
'This code example produces output similar to following:
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
' Inherited? False
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: ChangePermissions
' Inheritance: ContainerInherit
' Propagation: NoPropagateInherit, InheritOnly
' Inherited? False
'
'HKEY_CURRENT_USER\TestKey3927
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
' Inherited? False
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: ChangePermissions
' Inheritance: ContainerInherit
' Propagation: NoPropagateInherit, InheritOnly
' Inherited? False
'
'HKEY_CURRENT_USER\TestKey3927\ChildKey
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
' Inherited? True
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: ChangePermissions
' Inheritance: None
' Propagation: None
' Inherited? True
'
'HKEY_CURRENT_USER\TestKey3927\ChildKey\GrandChildKey
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
' Inherited? True
Opmerkingen
Een RegistrySecurity object geeft toegangsrechten op voor een registersleutel en geeft ook aan hoe toegangspogingen worden gecontroleerd. Toegangsrechten voor de registersleutel worden uitgedrukt als regels, waarbij elke toegangsregel wordt vertegenwoordigd door een RegistryAccessRule object. Elke controleregel wordt vertegenwoordigd door een RegistryAuditRule object.
Dit weerspiegelt het onderliggende Windows beveiligingssysteem, waarin elk beveiligbaar object ten hoogste één discretionaire toegangsbeheerlijst (DACL) heeft die de toegang tot het beveiligde object beheert, en ten hoogste één systeemtoegangsbeheerlijst (SACL) die aangeeft welke toegangspogingen worden gecontroleerd. De DACL en SACL zijn geordende lijsten met toegangsbeheervermeldingen (ACE) die toegang en controle voor gebruikers en groepen opgeven. Een RegistryAccessRule of RegistryAuditRule object kan meer dan één ACE vertegenwoordigen.
Note
Windows beveiliging voor toegangsbeheer kan alleen worden toegepast op registersleutels. Het kan niet worden toegepast op afzonderlijke sleutel-/waardeparen die zijn opgeslagen in een sleutel.
De RegistrySecurity, RegistryAccessRuleen RegistryAuditRule klassen verbergen de implementatiedetails van ACL's en ACL's. Hiermee kunt u de zeventien verschillende ACE-typen negeren en de complexiteit van het correct onderhouden van overname en doorgifte van toegangsrechten. Deze objecten zijn ook ontworpen om de volgende veelvoorkomende toegangsbeheerfouten te voorkomen:
Een beveiligingsdescriptor maken met een null-DACL. Met een null-verwijzing naar een DACL kan elke gebruiker toegangsregels toevoegen aan een object, waardoor mogelijk een Denial-of-Service-aanval ontstaat. Een nieuw RegistrySecurity object begint altijd met een lege DACL, waardoor alle toegang voor alle gebruikers wordt geweigerd.
Het schenden van de canonieke orde van ACL's. Als de ACE-lijst in de DACL niet in de canonieke volgorde wordt bewaard, kunnen gebruikers per ongeluk toegang krijgen tot het beveiligde object. Geweigerde toegangsrechten moeten bijvoorbeeld altijd worden weergegeven voordat toegangsrechten zijn toegestaan. RegistrySecurity objecten onderhouden intern de juiste volgorde.
Het manipuleren van beveiligingsdescriptorvlagmen, die alleen onder resourcebeheer moeten staan.
Ongeldige combinaties van ACE-vlaggen maken.
Overgenomen ACL's bewerken. Overname en doorgifte worden verwerkt door resourcemanager als reactie op wijzigingen die u aanbrengt in toegangs- en controleregels.
Betekenisloze ACL's invoegen in ACL's.
De enige mogelijkheden die niet worden ondersteund door de .NET beveiligingsobjecten zijn gevaarlijke activiteiten die moeten worden vermeden door de meeste toepassingsontwikkelaars, zoals de volgende:
Taken op laag niveau die normaal gesproken door resourcemanager worden uitgevoerd.
Vermeldingen voor toegangsbeheer toevoegen of verwijderen op manieren die de canonieke volgorde niet behouden.
Als u de beveiliging van Windows toegangsbeheer voor een registersleutel wilt wijzigen, gebruikt u de methode RegistryKey.GetAccessControl om het object RegistrySecurity op te halen. Wijzig het beveiligingsobject door regels toe te voegen en te verwijderen en gebruik vervolgens de RegistryKey.SetAccessControl methode om het opnieuw te koppelen.
Important
Wijzigingen die u aanbrengt in een RegistrySecurity object hebben geen invloed op de toegangsniveaus van de registersleutel totdat u de RegistryKey.SetAccessControl methode aanroept om het gewijzigde beveiligingsobject toe te wijzen aan de registersleutel.
Als u de beveiliging van toegangsbeheer van de ene registersleutel naar de andere wilt kopiëren, gebruikt u de RegistryKey.GetAccessControl methode om een RegistrySecurity object op te halen dat de toegangs- en controleregels voor de eerste registersleutel vertegenwoordigt en gebruikt u vervolgens de RegistryKey.SetAccessControl methode om deze regels toe te wijzen aan de tweede registersleutel. U kunt de regels ook toewijzen aan een tweede registersleutel met een RegistryKey.OpenSubKey of RegistryKey.CreateSubKey methode die een RegistrySecurity objectparameter gebruikt.
Gebruikers met een investering in de security descriptor definition language (SDDL) kunnen de SetSecurityDescriptorSddlForm methode gebruiken om toegangsregels in te stellen voor een registersleutel en de GetSecurityDescriptorSddlForm methode om een tekenreeks te verkrijgen die de toegangsregels in SDDL-indeling vertegenwoordigt. Dit wordt niet aanbevolen voor nieuwe ontwikkeling.
Constructors
| Name | Description |
|---|---|
| RegistrySecurity() |
Initialiseert een nieuw exemplaar van de RegistrySecurity klasse met standaardwaarden. |
Eigenschappen
| Name | Description |
|---|---|
| AccessRightType |
Hiermee haalt u het opsommingstype op dat door de RegistrySecurity klasse wordt gebruikt om toegangsrechten weer te geven. |
| AccessRulesModified |
Hiermee wordt een Booleaanse waarde opgehaald of ingesteld die aangeeft of de toegangsregels die aan dit ObjectSecurity object zijn gekoppeld, zijn gewijzigd. (Overgenomen van ObjectSecurity) |
| AccessRuleType |
Hiermee haalt u het type op dat door de RegistrySecurity klasse wordt gebruikt om toegangsregels weer te geven. |
| AreAccessRulesCanonical |
Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de toegangsregels die aan dit ObjectSecurity object zijn gekoppeld, in canonieke volgorde staan. (Overgenomen van ObjectSecurity) |
| AreAccessRulesProtected |
Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de Discretionaire Access Control List (DACL) die is gekoppeld aan dit ObjectSecurity-object is beveiligd. (Overgenomen van ObjectSecurity) |
| AreAuditRulesCanonical |
Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de controleregels die aan dit ObjectSecurity object zijn gekoppeld, in canonieke volgorde staan. (Overgenomen van ObjectSecurity) |
| AreAuditRulesProtected |
Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de System Access Control List (SACL) die is gekoppeld aan dit ObjectSecurity-object is beveiligd. (Overgenomen van ObjectSecurity) |
| AuditRulesModified |
Hiermee wordt een Booleaanse waarde opgehaald of ingesteld die aangeeft of de controleregels die aan dit ObjectSecurity object zijn gekoppeld, zijn gewijzigd. (Overgenomen van ObjectSecurity) |
| AuditRuleType |
Hiermee haalt u het type op dat door de RegistrySecurity klasse wordt gebruikt om controleregels weer te geven. |
| GroupModified |
Hiermee wordt een Booleaanse waarde opgehaald of ingesteld die aangeeft of de groep die is gekoppeld aan het beveiligbare object is gewijzigd. (Overgenomen van ObjectSecurity) |
| IsContainer |
Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of dit ObjectSecurity object een containerobject is. (Overgenomen van ObjectSecurity) |
| IsDS |
Hiermee haalt u een Booleaanse waarde op die aangeeft of dit ObjectSecurity object een mapobject is. (Overgenomen van ObjectSecurity) |
| OwnerModified |
Hiermee wordt een Booleaanse waarde opgehaald of ingesteld die aangeeft of de eigenaar van het beveiligbare object is gewijzigd. (Overgenomen van ObjectSecurity) |
Methoden
| Name | Description |
|---|---|
| AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType) |
Hiermee maakt u een nieuwe regel voor toegangsbeheer voor de opgegeven gebruiker, met de opgegeven toegangsrechten, toegangsbeheer en vlaggen. |
| AddAccessRule(AccessRule) |
Hiermee voegt u de opgegeven toegangsregel toe aan de discretionaire Access Control-lijst (DACL) die aan dit CommonObjectSecurity-object is gekoppeld. (Overgenomen van CommonObjectSecurity) |
| AddAccessRule(RegistryAccessRule) |
Zoekt naar een overeenkomend toegangsbeheer waarmee de nieuwe regel kan worden samengevoegd. Als er geen worden gevonden, voegt u de nieuwe regel toe. |
| AddAuditRule(AuditRule) |
Hiermee voegt u de opgegeven controleregel toe aan de System Access Control List (SACL) die is gekoppeld aan dit CommonObjectSecurity-object. (Overgenomen van CommonObjectSecurity) |
| AddAuditRule(RegistryAuditRule) |
Hiermee wordt gezocht naar een controleregel waarmee de nieuwe regel kan worden samengevoegd. Als er geen worden gevonden, voegt u de nieuwe regel toe. |
| AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags) |
Hiermee maakt u een nieuwe controleregel, waarbij u de gebruiker opgeeft waarop de regel van toepassing is, de toegangsrechten voor controle, overname en doorgifte van de regel en het resultaat waarmee de regel wordt geactiveerd. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetAccessRules(Boolean, Boolean, Type) |
Hiermee haalt u een verzameling op van de toegangsregels die zijn gekoppeld aan de opgegeven beveiligings-id. (Overgenomen van CommonObjectSecurity) |
| GetAuditRules(Boolean, Boolean, Type) |
Hiermee haalt u een verzameling van de controleregels op die zijn gekoppeld aan de opgegeven beveiligings-id. (Overgenomen van CommonObjectSecurity) |
| GetGroup(Type) |
Hiermee haalt u de primaire groep op die is gekoppeld aan de opgegeven eigenaar. (Overgenomen van ObjectSecurity) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetOwner(Type) |
Hiermee haalt u de eigenaar op die is gekoppeld aan de opgegeven primaire groep. (Overgenomen van ObjectSecurity) |
| GetSecurityDescriptorBinaryForm() |
Retourneert een matrix van bytewaarden die de beveiligingsdescriptorgegevens voor dit ObjectSecurity object vertegenwoordigen. (Overgenomen van ObjectSecurity) |
| GetSecurityDescriptorSddlForm(AccessControlSections) |
Retourneert de SDDL-weergave (Security Descriptor Definition Language) van de opgegeven secties van de beveiligingsdescriptor die aan dit ObjectSecurity object is gekoppeld. (Overgenomen van ObjectSecurity) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ModifyAccess(AccessControlModification, AccessRule, Boolean) |
De opgegeven wijziging wordt toegepast op de Discretionaire Access Control List (DACL) die aan dit CommonObjectSecurity-object is gekoppeld. (Overgenomen van CommonObjectSecurity) |
| ModifyAccessRule(AccessControlModification, AccessRule, Boolean) |
De opgegeven wijziging wordt toegepast op de Discretionaire Access Control List (DACL) die aan dit ObjectSecurity-object is gekoppeld. (Overgenomen van ObjectSecurity) |
| ModifyAudit(AccessControlModification, AuditRule, Boolean) |
De opgegeven wijziging wordt toegepast op de System Access Control List (SACL) die is gekoppeld aan dit CommonObjectSecurity-object. (Overgenomen van CommonObjectSecurity) |
| ModifyAuditRule(AccessControlModification, AuditRule, Boolean) |
De opgegeven wijziging wordt toegepast op de System Access Control List (SACL) die is gekoppeld aan dit ObjectSecurity-object. (Overgenomen van ObjectSecurity) |
| Persist(Boolean, String, AccessControlSections) |
Hiermee worden de opgegeven secties van de beveiligingsdescriptor die aan dit ObjectSecurity object is gekoppeld, opgeslagen in permanente opslag. U wordt aangeraden de waarden van de |
| Persist(SafeHandle, AccessControlSections, Object) |
Hiermee worden de opgegeven secties van de beveiligingsdescriptor die aan dit NativeObjectSecurity object is gekoppeld, opgeslagen in permanente opslag. U wordt aangeraden de waarden van de |
| Persist(SafeHandle, AccessControlSections) |
Hiermee worden de opgegeven secties van de beveiligingsdescriptor die aan dit NativeObjectSecurity object is gekoppeld, opgeslagen in permanente opslag. We raden aan.persistent te houden dat de waarden van de |
| Persist(String, AccessControlSections, Object) |
Hiermee worden de opgegeven secties van de beveiligingsdescriptor die aan dit NativeObjectSecurity object is gekoppeld, opgeslagen in permanente opslag. U wordt aangeraden de waarden van de |
| Persist(String, AccessControlSections) |
Hiermee worden de opgegeven secties van de beveiligingsdescriptor die aan dit NativeObjectSecurity object is gekoppeld, opgeslagen in permanente opslag. U wordt aangeraden de waarden van de |
| PurgeAccessRules(IdentityReference) |
Hiermee verwijdert u alle toegangsregels die zijn gekoppeld aan de opgegeven IdentityReference. (Overgenomen van ObjectSecurity) |
| PurgeAuditRules(IdentityReference) |
Hiermee verwijdert u alle controleregels die zijn gekoppeld aan de opgegeven IdentityReference. (Overgenomen van ObjectSecurity) |
| ReadLock() |
Hiermee wordt dit ObjectSecurity object vergrendeld voor leestoegang. (Overgenomen van ObjectSecurity) |
| ReadUnlock() |
Hiermee ontgrendelt u dit ObjectSecurity object voor leestoegang. (Overgenomen van ObjectSecurity) |
| RemoveAccessRule(AccessRule) |
Hiermee verwijdert u toegangsregels die dezelfde beveiligings-id en hetzelfde toegangsmasker bevatten als de opgegeven toegangsregel uit de Discretionaire Access Control Lijst (DACL) die aan dit CommonObjectSecurity-object zijn gekoppeld. (Overgenomen van CommonObjectSecurity) |
| RemoveAccessRule(RegistryAccessRule) |
Zoekt naar een toegangsbeheerregel met dezelfde gebruiker en AccessControlType (toestaan of weigeren) als de opgegeven toegangsregel en met compatibele overname- en doorgiftevlagmen. Als een dergelijke regel wordt gevonden, worden de rechten in de opgegeven toegangsregel verwijderd. |
| RemoveAccessRuleAll(AccessRule) |
Hiermee verwijdert u alle toegangsregels met dezelfde beveiligings-id als de opgegeven toegangsregel uit de Discretionaire Access Control Lijst (DACL) die aan dit CommonObjectSecurity-object zijn gekoppeld. (Overgenomen van CommonObjectSecurity) |
| RemoveAccessRuleAll(RegistryAccessRule) |
Zoekt naar alle toegangsbeheerregels met dezelfde gebruiker en AccessControlType (toestaan of weigeren) als de opgegeven regel en, indien gevonden, verwijdert deze. |
| RemoveAccessRuleSpecific(AccessRule) |
Hiermee verwijdert u alle toegangsregels die exact overeenkomen met de opgegeven toegangsregel uit de discretionaire Access Control lijst (DACL) die aan dit CommonObjectSecurity-object zijn gekoppeld. (Overgenomen van CommonObjectSecurity) |
| RemoveAccessRuleSpecific(RegistryAccessRule) |
Hiermee wordt gezocht naar een toegangsbeheerregel die exact overeenkomt met de opgegeven regel en, indien gevonden, wordt deze verwijderd. |
| RemoveAuditRule(AuditRule) |
Hiermee verwijdert u controleregels die dezelfde beveiligings-id en hetzelfde toegangsmasker bevatten als de opgegeven controleregel uit de system Access Control list (SACL) die aan dit CommonObjectSecurity-object zijn gekoppeld. (Overgenomen van CommonObjectSecurity) |
| RemoveAuditRule(RegistryAuditRule) |
Zoekt naar een controleregel met dezelfde gebruiker als de opgegeven regel, en met compatibele overname- en doorgiftevlagmen; als er een compatibele regel wordt gevonden, worden de rechten in de opgegeven regel ervan verwijderd. |
| RemoveAuditRuleAll(AuditRule) |
Hiermee verwijdert u alle controleregels met dezelfde beveiligings-id als de opgegeven controleregel uit de system Access Control list (SACL) die aan dit CommonObjectSecurity-object zijn gekoppeld. (Overgenomen van CommonObjectSecurity) |
| RemoveAuditRuleAll(RegistryAuditRule) |
Hiermee wordt gezocht naar alle controleregels met dezelfde gebruiker als de opgegeven regel en, indien gevonden, worden ze verwijderd. |
| RemoveAuditRuleSpecific(AuditRule) |
Hiermee verwijdert u alle controleregels die exact overeenkomen met de opgegeven controleregel uit de System Access Control List (SACL) die aan dit CommonObjectSecurity-object zijn gekoppeld. (Overgenomen van CommonObjectSecurity) |
| RemoveAuditRuleSpecific(RegistryAuditRule) |
Zoekt naar een controleregel die exact overeenkomt met de opgegeven regel en, indien gevonden, verwijdert deze. |
| ResetAccessRule(AccessRule) |
Hiermee verwijdert u alle toegangsregels in de Discretionaire Access Control-lijst (DACL) die zijn gekoppeld aan dit CommonObjectSecurity-object en voegt u vervolgens de opgegeven toegangsregel toe. (Overgenomen van CommonObjectSecurity) |
| ResetAccessRule(RegistryAccessRule) |
Hiermee verwijdert u alle regels voor toegangsbeheer met dezelfde gebruiker als de opgegeven regel, ongeacht of AccessControlTypeen voegt u vervolgens de opgegeven regel toe. |
| SetAccessRule(AccessRule) |
Hiermee verwijdert u alle toegangsregels die dezelfde beveiligings-id en kwalificatie bevatten als de opgegeven toegangsregel in de Discretionaire Access Control Lijst (DACL) die aan dit CommonObjectSecurity-object zijn gekoppeld en voegt u vervolgens de opgegeven toegangsregel toe. (Overgenomen van CommonObjectSecurity) |
| SetAccessRule(RegistryAccessRule) |
Hiermee verwijdert u alle regels voor toegangsbeheer met dezelfde gebruiker en AccessControlType (toestaan of weigeren) als de opgegeven regel en voegt u vervolgens de opgegeven regel toe. |
| SetAccessRuleProtection(Boolean, Boolean) |
Hiermee stelt u de beveiliging in of verwijdert u de toegangsregels die aan dit ObjectSecurity object zijn gekoppeld. Beveiligde toegangsregels kunnen niet worden gewijzigd door bovenliggende objecten via overname. (Overgenomen van ObjectSecurity) |
| SetAuditRule(AuditRule) |
Verwijdert alle controleregels die dezelfde beveiligings-id en kwalificatie bevatten als de opgegeven controleregel in de system Access Control list (SACL) die zijn gekoppeld aan dit CommonObjectSecurity-object en voegt vervolgens de opgegeven controleregel toe. (Overgenomen van CommonObjectSecurity) |
| SetAuditRule(RegistryAuditRule) |
Verwijdert alle controleregels met dezelfde gebruiker als de opgegeven regel, ongeacht de AuditFlags waarde en voegt vervolgens de opgegeven regel toe. |
| SetAuditRuleProtection(Boolean, Boolean) |
Hiermee stelt u de beveiliging van de controleregels die aan dit object zijn gekoppeld, in of verwijdert u deze ObjectSecurity . Beveiligde controleregels kunnen niet worden gewijzigd door bovenliggende objecten via overname. (Overgenomen van ObjectSecurity) |
| SetGroup(IdentityReference) |
Hiermee stelt u de primaire groep in voor de beveiligingsdescriptor die aan dit ObjectSecurity object is gekoppeld. (Overgenomen van ObjectSecurity) |
| SetOwner(IdentityReference) |
Hiermee stelt u de eigenaar in voor de beveiligingsdescriptor die aan dit ObjectSecurity object is gekoppeld. (Overgenomen van ObjectSecurity) |
| SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) |
Hiermee stelt u de opgegeven secties van de beveiligingsdescriptor voor dit ObjectSecurity object in op basis van de opgegeven matrix van bytewaarden. (Overgenomen van ObjectSecurity) |
| SetSecurityDescriptorBinaryForm(Byte[]) |
Hiermee stelt u de beveiligingsdescriptor voor dit ObjectSecurity object in op basis van de opgegeven matrix van bytewaarden. (Overgenomen van ObjectSecurity) |
| SetSecurityDescriptorSddlForm(String, AccessControlSections) |
Hiermee stelt u de opgegeven secties van de beveiligingsdescriptor voor dit ObjectSecurity object in op basis van de opgegeven SDDL-tekenreeks (Security Descriptor Definition Language). (Overgenomen van ObjectSecurity) |
| SetSecurityDescriptorSddlForm(String) |
Hiermee stelt u de beveiligingsdescriptor voor dit ObjectSecurity object in op basis van de opgegeven SDDL-tekenreeks (Security Descriptor Definition Language). (Overgenomen van ObjectSecurity) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| WriteLock() |
Hiermee wordt dit ObjectSecurity object vergrendeld voor schrijftoegang. (Overgenomen van ObjectSecurity) |
| WriteUnlock() |
Hiermee ontgrendelt u dit ObjectSecurity object voor schrijftoegang. (Overgenomen van ObjectSecurity) |