File.SetAccessControl(String, FileSecurity) 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 FileSecurity oggetto al file specificato.
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)
Parametri
- path
- String
File da cui aggiungere o rimuovere voci dell'elenco di controllo di accesso.
- fileSecurity
- FileSecurity
Oggetto FileSecurity che descrive una voce ACL da applicare al file descritto dal path parametro .
Eccezioni
Si è verificato un errore di I/O durante l'apertura del file.
Il path parametro è null.
Impossibile trovare il file.
Il path parametro ha specificato un file di sola lettura.
oppure
Questa operazione non è supportata nella piattaforma corrente.
oppure
Il path parametro ha specificato una directory.
oppure
Il chiamante non dispone dell'autorizzazione richiesta.
Il fileSecurity parametro è null.
Commenti
Il SetAccessControl metodo applica voci dell'elenco di controllo di accesso (ACL) a un file che rappresenta l'elenco ACL non inrito.
Attenzione
L'ACL specificato per il fileSecurity parametro sostituisce l'ACL esistente per il file. Per aggiungere autorizzazioni per un nuovo utente, usare il GetAccessControl metodo per ottenere l'ACL esistente, modificarlo e quindi usarlo SetAccessControl per applicarlo nuovamente al file.
Un elenco di controllo di accesso descrive singoli utenti e gruppi che dispongono o non dispongono di diritti per azioni specifiche nel file specificato. Per altre informazioni, vedere Procedura: Aggiungere o rimuovere voci dell'elenco di controllo di accesso.
Il SetAccessControl metodo rende persistenti solo FileSecurity gli oggetti modificati dopo la creazione dell'oggetto. Se un FileSecurity oggetto non è stato modificato, non verrà salvato in modo permanente in un file. Pertanto, non è possibile recuperare un FileSecurity 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 FileSecurity dal file di origine.
Creare un nuovo FileSecurity oggetto per il file di destinazione.
Utilizzare il GetSecurityDescriptorBinaryForm metodo o GetSecurityDescriptorSddlForm dell'oggetto di origine FileSecurity per recuperare le informazioni ACL.
Utilizzare il SetSecurityDescriptorBinaryForm metodo o SetSecurityDescriptorSddlForm per copiare le informazioni recuperate nel passaggio 3 nell'oggetto di destinazione FileSecurity .
Impostare l'oggetto di destinazione sul file di destinazione FileSecurity 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.