Directory.SetAccessControl(String, DirectorySecurity) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir DirectorySecurity nesne tarafından açıklanan erişim denetimi listesi (ACL) girdilerini belirtilen dizine uygular.
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)
Parametreler
- path
- String
Erişim denetimi listesi (ACL) girdilerinin ekleneceği veya kaldırılacağı dizin.
- directorySecurity
- DirectorySecurity
DirectorySecurity parametresi tarafından açıklanan dizine uygulanacak bir ACL girdisini path açıklayan nesne.
Özel durumlar
directorySecurity parametresi null'dir.
Dizin bulunamadı.
path geçersizdi.
Geçerli işlemin tarafından pathbelirtilen dizine erişimi yok.
-veya-
Geçerli işlemin ACL girdisini ayarlamak için yeterli ayrıcalığı yok.
Açıklamalar
yöntemi, SetAccessControl erişim denetimi listesi (ACL) girdilerini, hiçbirine bağlı olmayan ACL listesini temsil eden bir dizine uygular.
Caution
parametresi için directorySecurity belirtilen ACL, dizinin mevcut ACL'sinin yerini alır. Yeni bir kullanıcının izinlerini eklemek için yöntemini kullanarak GetAccessControl mevcut ACL'yi alın ve değiştirin.
ACL, belirli bir dosya veya dizin ü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 Girdileri Ekleme veya Kaldırma.
SetAccessControl yöntemi yalnızca DirectorySecurity nesne oluşturulduktan sonra değiştirilmiş nesneleri kalıcı hale döndürür. Bir DirectorySecurity nesne değiştirilmediyse, bir dosyada kalıcı olmaz. Bu nedenle, bir dosyadan nesne almak ve aynı nesneyi başka bir DirectorySecurity dosyaya yeniden uygulamak mümkün değildir.
ACL bilgilerini bir dosyadan diğerine kopyalamak için:
GetAccessControl Nesnesini kaynak dosyadan almak DirectorySecurity için yöntemini kullanın.
Hedef dosya için yeni DirectorySecurity bir nesne oluşturun.
GetSecurityDescriptorBinaryForm ACL bilgilerini almak için kaynak GetSecurityDescriptorSddlForm nesnenin veya DirectorySecurity yöntemini kullanın.
SetSecurityDescriptorBinaryForm 3. adımda alınan bilgileri hedef SetSecurityDescriptorSddlForm nesneye kopyalamak için or DirectorySecurity yöntemini kullanın.
yöntemini kullanarak hedef DirectorySecurity nesneyi hedef dosyaya SetAccessControl ayarlayın.
NTFS ortamlarında ReadAttributes ve ReadExtendedAttributes kullanıcının üst klasörde hakları varsa kullanıcıya ListDirectory verilir. ve ReadAttributes'yi reddetmek ReadExtendedAttributes için üst dizinde reddedinListDirectory.