File.SetAccessControl(String, FileSecurity) Yöntem

Tanım

Bir FileSecurity nesnesi tarafından açıklanan erişim denetimi listesi (ACL) girdilerini belirtilen dosyaya uygular.

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)

Parametreler

path
String

Erişim denetimi listesi (ACL) girdilerinin ekleneceği veya kaldırılacağı bir dosya.

fileSecurity
FileSecurity

path parametresi tarafından açıklanan dosyaya uygulanacak bir ACL girdisini açıklayan FileSecurity nesnesi.

Özel durumlar

Dosya açılırken bir G/Ç hatası oluştu.

path parametresi null.

Dosya bulunamadı.

path parametresi salt okunur bir dosya belirtti.

-veya-

Bu işlem geçerli platformda desteklenmiyor.

-veya-

path parametresi bir dizin belirtti.

-veya-

Çağıranın gerekli izni yok.

fileSecurity parametresi null.

Açıklamalar

SetAccessControl yöntemi, erişim denetimi listesi (ACL) girdilerini, doğası olmayan ACL listesini temsil eden bir dosyaya uygular.

Dikkat

fileSecurity parametresi için belirtilen ACL, dosyanın mevcut ACL'sinin yerini alır. Yeni bir kullanıcının izinlerini eklemek için GetAccessControl yöntemini kullanarak mevcut ACL'yi alın, değiştirin ve SetAccessControl kullanarak dosyaya geri uygulayın.

ACL, belirli bir dosya üzerinde belirli eylemlere sahip olan veya olmayan kişileri ve grupları açıklar. Daha fazla bilgi için bkz. Nasıl yapılır: Erişim Denetimi Listesi Girdilerini Ekleme veya Kaldırma.

SetAccessControl yöntemi yalnızca nesne oluşturulduktan sonra değiştirilmiş FileSecurity nesneleri kalıcı hale getirin. bir FileSecurity nesnesi değiştirilmediyse, bir dosyada kalıcı olmaz. Bu nedenle, bir dosyadan FileSecurity nesnesi almak ve aynı nesneyi başka bir dosyaya yeniden uygulamak mümkün değildir.

ACL bilgilerini bir dosyadan diğerine kopyalamak için:

  1. FileSecurity nesnesini kaynak dosyadan almak için GetAccessControl yöntemini kullanın.

  2. Hedef dosya için yeni bir FileSecurity nesnesi oluşturun.

  3. ACL bilgilerini almak için kaynak FileSecurity nesnesinin GetSecurityDescriptorBinaryForm veya GetSecurityDescriptorSddlForm yöntemini kullanın.

  4. 3. adımda alınan bilgileri hedef FileSecurity nesnesine kopyalamak için SetSecurityDescriptorBinaryForm veya SetSecurityDescriptorSddlForm yöntemini kullanın.

  5. SetAccessControl yöntemini kullanarak hedef FileSecurity nesnesini hedef dosyaya ayarlayın.

NTFS ortamlarında, kullanıcının üst klasörde ListDirectory hakları varsa kullanıcıya ReadAttributes ve ReadExtendedAttributes verilir. ReadAttributes ve ReadExtendedAttributesreddetmek için üst dizindeki ListDirectory reddedin.

Şunlara uygulanır

Ayrıca bkz.