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 nesnesi 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
path
parametresi tarafından açıklanan dizine uygulanacak bir ACL girdisini açıklayan DirectorySecurity nesnesi.
Özel durumlar
directorySecurity
parametresi null
.
Dizin bulunamadı.
path
geçersizdi.
Geçerli işlemin path
tarafından belirtilen dizine erişimi yok.
-veya-
Geçerli işlemin ACL girdisini ayarlamak için yeterli ayrıcalığı yok.
Açıklamalar
SetAccessControl yöntemi, erişim denetimi listesi (ACL) girdilerini, doğası olmayan ACL listesini temsil eden bir dizine uygular.
Dikkat
directorySecurity
parametresi için belirtilen ACL, dizinin 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 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 Girdilerini Ekleme veya Kaldırma.
SetAccessControl yöntemi yalnızca nesne oluşturulduktan sonra değiştirilmiş DirectorySecurity nesneleri kalıcı hale getirin. bir DirectorySecurity nesnesi değiştirilmediyse, bir dosyada kalıcı olmaz. Bu nedenle, bir dosyadan DirectorySecurity 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:
DirectorySecurity nesnesini kaynak dosyadan almak için GetAccessControl yöntemini kullanın.
Hedef dosya için yeni bir DirectorySecurity nesnesi oluşturun.
ACL bilgilerini almak için kaynak DirectorySecurity nesnesinin GetSecurityDescriptorBinaryForm veya GetSecurityDescriptorSddlForm yöntemini kullanın.
3. adımda alınan bilgileri hedef DirectorySecurity nesnesine kopyalamak için SetSecurityDescriptorBinaryForm veya SetSecurityDescriptorSddlForm yöntemini kullanın.
SetAccessControl yöntemini kullanarak hedef DirectorySecurity 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.