Directory.SetAccessControl(String, DirectorySecurity) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillämpar poster i åtkomstkontrollistan (ACL) som beskrivs av ett DirectorySecurity objekt i den angivna katalogen.
public:
static void SetAccessControl(System::String ^ path, System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public static void SetAccessControl(string path, System.Security.AccessControl.DirectorySecurity directorySecurity);
static member SetAccessControl : string * System.Security.AccessControl.DirectorySecurity -> unit
Public Shared Sub SetAccessControl (path As String, directorySecurity As DirectorySecurity)
Parametrar
- path
- String
En katalog som du vill lägga till eller ta bort åtkomstkontrollistan (ACL)-poster från.
- directorySecurity
- DirectorySecurity
Ett DirectorySecurity objekt som beskriver en ACL-post som ska tillämpas på katalogen som beskrivs av parametern path .
Undantag
Parametern directorySecurity är null.
Det gick inte att hitta katalogen.
Den path var ogiltig.
Den aktuella processen har inte åtkomst till katalogen som anges av path.
-eller-
Den aktuella processen har inte tillräcklig behörighet för att ange ACL-posten.
Kommentarer
Metoden SetAccessControl tillämpar ACL-poster (Access Control List) på en katalog som representerar den icke-arvsbaserade ACL-listan.
Caution
Den ACL som anges för parametern directorySecurity ersätter den befintliga ACL:en för katalogen. Om du vill lägga till behörigheter för en ny användare använder du GetAccessControl metoden för att hämta den befintliga ACL:n och ändra den.
En ACL beskriver individer och grupper som har, eller inte har, rättigheter till specifika åtgärder i den angivna filen eller katalogen. Mer information finns i Så här lägger du till eller tar bort poster för åtkomstkontrollistan.
Metoden SetAccessControl bevarar endast DirectorySecurity objekt som har ändrats efter att objektet har skapats. Om ett DirectorySecurity objekt inte har ändrats sparas det inte i en fil. Därför går det inte att hämta ett DirectorySecurity objekt från en fil och tillämpa samma objekt på en annan fil igen.
Så här kopierar du ACL-information från en fil till en annan:
GetAccessControl Använd metoden för att hämta DirectorySecurity objektet från källfilen.
Skapa ett nytt DirectorySecurity objekt för målfilen.
GetSecurityDescriptorBinaryForm Använd källobjektets DirectorySecurity metod eller GetSecurityDescriptorSddlForm för att hämta ACL-informationen.
SetSecurityDescriptorBinaryForm Använd metoden eller SetSecurityDescriptorSddlForm för att kopiera informationen som hämtades i steg 3 till målobjektetDirectorySecurity.
Ange målobjektet DirectorySecurity till målfilen med hjälp av SetAccessControl metoden .
I NTFS-miljöer ReadAttributes och ReadExtendedAttributes beviljas användaren om användaren har ListDirectory behörighet till den överordnade mappen. ReadAttributes Neka och ReadExtendedAttributesneka ListDirectory i den överordnade katalogen.