File.SetAccessControl(String, FileSecurity) 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 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:
FileSecurity nesnesini kaynak dosyadan almak için GetAccessControl yöntemini kullanın.
Hedef dosya için yeni bir FileSecurity nesnesi oluşturun.
ACL bilgilerini almak için kaynak FileSecurity nesnesinin GetSecurityDescriptorBinaryForm veya GetSecurityDescriptorSddlForm yöntemini kullanın.
3. adımda alınan bilgileri hedef FileSecurity nesnesine kopyalamak için SetSecurityDescriptorBinaryForm veya SetSecurityDescriptorSddlForm yöntemini kullanın.
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.