File.SetAccessControl(String, FileSecurity) Methode

Definitie

Hiermee past u ACL-vermeldingen (Access Control List) toe die worden beschreven door een FileSecurity object op het opgegeven bestand.

public:
 static void SetAccessControl(System::String ^ path, System::Security::AccessControl::FileSecurity ^ fileSecurity);
public static void SetAccessControl(string path, System.Security.AccessControl.FileSecurity fileSecurity);
static member SetAccessControl : string * System.Security.AccessControl.FileSecurity -> unit
Public Shared Sub SetAccessControl (path As String, fileSecurity As FileSecurity)

Parameters

path
String

Een bestand waaruit ACL-vermeldingen (Access Control List) moeten worden toegevoegd of verwijderd.

fileSecurity
FileSecurity

Een FileSecurity object dat een ACL-vermelding beschrijft die moet worden toegepast op het bestand dat wordt beschreven door de path parameter.

Uitzonderingen

Er is een I/O-fout opgetreden tijdens het openen van het bestand.

De path parameter is null.

Kan het bestand niet vinden.

De path parameter heeft een bestand opgegeven dat alleen-lezen is.

– of –

Deze bewerking wordt niet ondersteund op het huidige platform.

– of –

De path parameter heeft een map opgegeven.

– of –

De beller heeft niet de vereiste machtiging.

De fileSecurity parameter is null.

Opmerkingen

Met de SetAccessControl methode worden ACL-vermeldingen (Access Control List) toegepast op een bestand dat de niet-ingevoegde ACL-lijst vertegenwoordigt.

Caution

De ACL die is opgegeven voor de fileSecurity parameter vervangt de bestaande ACL voor het bestand. Als u machtigingen voor een nieuwe gebruiker wilt toevoegen, gebruikt u de GetAccessControl methode om de bestaande ACL te verkrijgen, te wijzigen en deze vervolgens SetAccessControl weer toe te passen op het bestand.

Een ACL beschrijft personen en groepen die al dan niet rechten hebben voor specifieke acties op het opgegeven bestand. Zie Instructies voor het toevoegen of verwijderen van vermeldingen in toegangsbeheerlijsten voor meer informatie.

De SetAccessControl methode behoudt alleen FileSecurity objecten die zijn gewijzigd na het maken van het object. Als een FileSecurity object niet is gewijzigd, wordt het niet opgeslagen in een bestand. Daarom is het niet mogelijk om een object op te halen uit het FileSecurity ene bestand en hetzelfde object opnieuw toe te past op een ander bestand.

ACL-gegevens van het ene bestand naar het andere kopiëren:

  1. Gebruik de GetAccessControl methode om het FileSecurity object op te halen uit het bronbestand.

  2. Maak een nieuw FileSecurity object voor het doelbestand.

  3. Gebruik de GetSecurityDescriptorBinaryForm of GetSecurityDescriptorSddlForm methode van het bronobject FileSecurity om de ACL-informatie op te halen.

  4. Gebruik de SetSecurityDescriptorBinaryForm of SetSecurityDescriptorSddlForm methode om de gegevens die in stap 3 zijn opgehaald, te kopiëren naar het doelobject FileSecurity .

  5. Stel het doelobject FileSecurity in op het doelbestand met behulp van de SetAccessControl methode.

In NTFS-omgevingen ReadAttributes en ReadExtendedAttributes worden aan de gebruiker verleend als de gebruiker rechten heeft ListDirectory op de bovenliggende map. ReadAttributes Weigeren en ReadExtendedAttributesweigeren ListDirectory in de bovenliggende map.

Van toepassing op

Zie ook