Directory.SetAccessControl(String, DirectorySecurity) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Applica le voci dell'elenco di controllo di accesso (ACL) descritte da un DirectorySecurity oggetto alla directory specificata.
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)
Parametri
- path
- String
Directory da cui aggiungere o rimuovere voci dell'elenco di controllo di accesso.
- directorySecurity
- DirectorySecurity
Oggetto DirectorySecurity che descrive una voce ACL da applicare alla directory descritta dal path parametro .
Eccezioni
Il directorySecurity parametro è null.
Impossibile trovare la directory.
L'oggetto path non è valido.
Il processo corrente non ha accesso alla directory specificata da path.
oppure
Il processo corrente non dispone di privilegi sufficienti per impostare la voce ACL.
Commenti
Il SetAccessControl metodo applica le voci dell'elenco di controllo di accesso (ACL) a una directory che rappresenta l'elenco ACL non inrito.
Caution
L'ACL specificato per il directorySecurity parametro sostituisce l'ACL esistente per la directory. Per aggiungere autorizzazioni per un nuovo utente, usare il GetAccessControl metodo per ottenere l'ACL esistente e modificarlo.
Un elenco di controllo di accesso descrive singoli utenti e gruppi che hanno o non hanno diritti per azioni specifiche nel file o nella directory specificata. Per altre informazioni, vedere Procedura: Aggiungere o rimuovere voci dell'elenco di controllo di accesso.
Il SetAccessControl metodo rende persistenti solo DirectorySecurity gli oggetti modificati dopo la creazione dell'oggetto. Se un DirectorySecurity oggetto non è stato modificato, non verrà salvato in modo permanente in un file. Pertanto, non è possibile recuperare un DirectorySecurity oggetto da un file e riapplicare lo stesso oggetto a un altro file.
Per copiare le informazioni ACL da un file a un altro:
Utilizzare il GetAccessControl metodo per recuperare l'oggetto DirectorySecurity dal file di origine.
Creare un nuovo DirectorySecurity oggetto per il file di destinazione.
Utilizzare il GetSecurityDescriptorBinaryForm metodo o GetSecurityDescriptorSddlForm dell'oggetto di origine DirectorySecurity per recuperare le informazioni ACL.
Utilizzare il SetSecurityDescriptorBinaryForm metodo o SetSecurityDescriptorSddlForm per copiare le informazioni recuperate nel passaggio 3 nell'oggetto di destinazione DirectorySecurity .
Impostare l'oggetto di destinazione sul file di destinazione DirectorySecurity usando il SetAccessControl metodo .
Negli ambienti ReadAttributes NTFS e ReadExtendedAttributes vengono concessi all'utente se l'utente dispone ListDirectory dei diritti per la cartella padre. Per negare ReadAttributes e ReadExtendedAttributes, negare ListDirectory nella directory padre.