2016-11-06 16 views
7

.NET Core'da bir dosyanın izinlerini değiştirmeye çalışıyorum. Ancak, FileInfo hiçbir SetAccessControl artık yok gibi görünüyor..NET Core'da dosya erişim denetimi nasıl değiştirilir?

// Create a new FileInfo object. 
FileInfo fInfo = new FileInfo(FileName); 

// Get a FileSecurity object that represents the 
// current security settings. 
FileSecurity fSecurity = fInfo.GetAccessControl(); 

// Add the FileSystemAccessRule to the security settings. 
fSecurity.AddAccessRule(new FileSystemAccessRule(Account, 
               Rights, 
               ControlType)); 

// Set the new access settings. 
fInfo.SetAccessControl(fSecurity); 

gol sadece sağ (Windows veya Unix özgü bir özellik değildir) bir dosyanın mevcut sahibine yürütülmesine eklemektir.

Bunu .NET Core'da nasıl yapılacağına dair ipuçları var mı?

+0

Farklı bir erişim kontrol sistemine sahip Unix'te ne olmasını beklerdiniz? Veya bu bir Windows sadece .Net Core uygulaması mı? – svick

+2

@svick Ortak altküme gibi bir şey beklerdim. Mono'da ne yapıldığını (eğer yapılmışsa) kontrol edeceğim. – Fab

cevap

6

FileSecurity sınıfı artık .NET Core için System.IO.FileSystem.AccessControl paketinin bir parçasıdır. Artık bir File.GetAccessControl yöntemi yoktur, bu nedenle FileSecurity örneğini kendiniz belirtmeniz gerekir.

+1

Bir kenara göre, yeni bir .NET Core 2.0 Kütüphanesi oluşturmak bu montajı içermeyecektir. System.IO.FileSystem.AccessControl öğesini bir NuGet paketi olarak eklemeniz gerekecek. – Scyssion

+0

@Scyssion Evet, yorum yazarım öyle diyor. – Patrik

İlgili konular