FileSystemAccessRule Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Abstraktion eines Zugriffssteuerungseintrags (Access Control Entry, ACE) dar, der eine Zugriffsregel für eine Datei oder ein Verzeichnis definiert. Diese Klasse kann nicht vererbt werden.
public ref class FileSystemAccessRule sealed : System::Security::AccessControl::AccessRule
public sealed class FileSystemAccessRule : System.Security.AccessControl.AccessRule
[System.Security.SecurityCritical]
public sealed class FileSystemAccessRule : System.Security.AccessControl.AccessRule
type FileSystemAccessRule = class
inherit AccessRule
[<System.Security.SecurityCritical>]
type FileSystemAccessRule = class
inherit AccessRule
Public NotInheritable Class FileSystemAccessRule
Inherits AccessRule
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird die FileSecurity Klasse verwendet, um einen Zugriffssteuerungseintrag (Access Control Entry, ACE) aus einer Datei hinzuzufügen und daraus zu entfernen. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.
using System;
using System.IO;
using System.Security.AccessControl;
namespace FileSystemExample
{
class FileExample
{
public static void Main()
{
try
{
string fileName = "test.xml";
Console.WriteLine($"Adding access control entry for {fileName}");
// Add the access control entry to the file.
AddFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
Console.WriteLine($"Removing access control entry from {fileName}");
// Remove the access control entry from the file.
RemoveFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
Console.WriteLine("Done.");
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
// Adds an ACL entry on the specified file for the specified account.
public static void AddFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileInfo fileInfo = new(fileName);
FileSecurity fSecurity = fileInfo.GetAccessControl();
// Add the FileSystemAccessRule to the security settings.
fSecurity.AddAccessRule(new FileSystemAccessRule(account,
rights, controlType));
// Set the new access settings.
fileInfo.SetAccessControl(fSecurity);
}
// Removes an ACL entry on the specified file for the specified account.
public static void RemoveFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileInfo fileInfo = new(fileName);
FileSecurity fSecurity = fileInfo.GetAccessControl();
// Remove the FileSystemAccessRule from the security settings.
fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
rights, controlType));
// Set the new access settings.
fileInfo.SetAccessControl(fSecurity);
}
}
}
Imports System.IO
Imports System.Security.AccessControl
Module FileExample
Sub Main()
Try
Dim fileName As String = "test.xml"
Console.WriteLine("Adding access control entry for " & fileName)
' Add the access control entry to the file.
AddFileSecurity(fileName, "DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow)
Console.WriteLine("Removing access control entry from " & fileName)
' Remove the access control entry from the file.
RemoveFileSecurity(fileName, "DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow)
Console.WriteLine("Done.")
Catch e As Exception
Console.WriteLine(e)
End Try
End Sub
' Adds an ACL entry on the specified file for the specified account.
Sub AddFileSecurity(ByVal fileName As String, ByVal account As String,
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fileInfo As New FileInfo(fileName)
Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()
' Add the FileSystemAccessRule to the security settings.
Dim accessRule As New FileSystemAccessRule(account, rights, controlType)
fSecurity.AddAccessRule(accessRule)
' Set the new access settings.
fileInfo.SetAccessControl(fSecurity)
End Sub
' Removes an ACL entry on the specified file for the specified account.
Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String,
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fileInfo As New FileInfo(fileName)
Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()
' Remove the FileSystemAccessRule from the security settings.
fSecurity.RemoveAccessRule(New FileSystemAccessRule(account,
rights, controlType))
' Set the new access settings.
fileInfo.SetAccessControl(fSecurity)
End Sub
End Module
Hinweise
Die FileSystemAccessRule Klasse stellt eine Abstraktion eines zugrunde liegenden Zugriffssteuerungseintrags (Access Control Entry, ACE) dar, der ein Benutzerkonto, den Typ des bereitzustellenden Zugriffs (Lesen, Schreiben usw.) angibt und ob diese Berechtigung zugelassen oder verweigert werden soll. Diese Klasse kann auch angeben, wie Zugriffsregeln an untergeordnete Objekte weitergegeben werden.
Verwenden Sie die FileSystemAccessRule Klasse, um eine neue Zugriffsregel zu erstellen. Sie können die Regel mithilfe der Klasse oder FileSecurity der DirectorySecurity Regel beibehalten.
Konstruktoren
| Name | Beschreibung |
|---|---|
| FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType) |
Initialisiert eine neue Instanz der FileSystemAccessRule Klasse mithilfe eines Verweises auf ein Benutzerkonto, einen Wert, der den Typ des Vorgangs angibt, der der Zugriffsregel zugeordnet ist, und einen Wert, der angibt, ob der Vorgang zugelassen oder verweigert werden soll. |
| FileSystemAccessRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType) |
Initialisiert eine neue Instanz der FileSystemAccessRule Klasse mithilfe eines Verweises auf ein Benutzerkonto, einen Wert, der den Typ des Vorgangs angibt, der der Zugriffsregel zugeordnet ist, einen Wert, der bestimmt, wie Rechte geerbt werden, ein Wert, der bestimmt, wie Rechte weitergegeben werden, und ein Wert, der angibt, ob der Vorgang zugelassen oder verweigert werden soll. |
| FileSystemAccessRule(String, FileSystemRights, AccessControlType) |
Initialisiert eine neue Instanz der FileSystemAccessRule Klasse mithilfe des Namens eines Benutzerkontos, eines Werts, der den Typ des Vorgangs angibt, der der Zugriffsregel zugeordnet ist, und einen Wert, der beschreibt, ob der Vorgang zugelassen oder verweigert werden soll. |
| FileSystemAccessRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType) |
Initialisiert eine neue Instanz der FileSystemAccessRule Klasse mit dem Namen eines Benutzerkontos, einem Wert, der den Typ des Vorgangs angibt, der der Zugriffsregel zugeordnet ist, einen Wert, der bestimmt, wie Rechte geerbt werden, ein Wert, der bestimmt, wie Rechte weitergegeben werden, und einen Wert, der angibt, ob der Vorgang zugelassen oder verweigert werden soll. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AccessControlType |
Ruft den AccessControlType diesem AccessRule Objekt zugeordneten Wert ab. (Geerbt von AccessRule) |
| AccessMask |
Ruft die Zugriffsmaske für diese Regel ab. (Geerbt von AuthorizationRule) |
| FileSystemRights |
Ruft die FileSystemRights Flags ab, die dem aktuellen FileSystemAccessRule Objekt zugeordnet sind. |
| IdentityReference |
Ruft ab IdentityReference , auf die diese Regel angewendet wird. (Geerbt von AuthorizationRule) |
| InheritanceFlags |
Ruft den Wert von Flags ab, die bestimmen, wie diese Regel von untergeordneten Objekten geerbt wird. (Geerbt von AuthorizationRule) |
| IsInherited |
Ruft einen Wert ab, der angibt, ob diese Regel explizit festgelegt oder von einem übergeordneten Containerobjekt geerbt wird. (Geerbt von AuthorizationRule) |
| PropagationFlags |
Ruft den Wert der Verteilungskennzeichnungen ab, die bestimmen, wie die Vererbung dieser Regel an untergeordnete Objekte weitergegeben wird. Diese Eigenschaft ist nur dann wichtig, wenn der Wert der InheritanceFlags Enumeration nicht Noneist. (Geerbt von AuthorizationRule) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |