2016-11-06 15 views
7

Tôi đang cố thay đổi quyền của tệp trong .NET Core. Tuy nhiên, có vẻ như FileInfo không còn bất kỳ số nào SetAccessControl nữa.Cách sửa đổi kiểm soát truy cập tệp trong .NET Core

// 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); 

Mục tiêu chỉ để thêm quyền thực thi cho chủ sở hữu hiện tại của tệp (không phải là tính năng cụ thể của Windows hoặc Unix).

Bất kỳ manh mối nào về cách thực hiện điều đó trên .NET Core?

+0

Bạn mong đợi điều gì sẽ xảy ra trên Unix, hệ thống kiểm soát truy cập khác nhau? Hoặc đây có phải là ứng dụng Net .Net dành riêng cho Windows không? – svick

+2

@svick Tôi mong chờ điều gì đó giống như một tập con chung. Tôi sẽ kiểm tra những gì đã được thực hiện (nếu nó đã được thực hiện) trên Mono. – Fab

Trả lời

6

Lớp FileSecurity hiện là một phần của gói System.IO.FileSystem.AccessControl cho .NET Core. Không còn là phương thức File.GetAccessControl do đó bạn sẽ cần phải tự tạo bản sao cho cá thể FileSecurity.

+1

Ngoài ra, việc tạo Thư viện .NET Core 2.0 mới sẽ không bao gồm hội đồng này. Bạn sẽ phải thêm 'System.IO.FileSystem.AccessControl' làm gói NuGet. – Scyssion

+0

@Scyssion Vâng, bình luận của tôi nói rằng. – Patrik

Các vấn đề liên quan