2011-10-31 53 views
-3

我正在處理一個需要將某些文件複製到其他文件夾的應用程序。我使用以下內容:如何拒絕文件被複制?

DirectoryInfo dir = new DirectoryInfo(path); 

foreach (FileInfo filesindires in dir.GetFiles()) 
{ 
    FileSecurity ds = filesindires.GetAccessControl(); 
    ds.AddAccessRule(new FileSystemAccessRule("Authenticated Users", 
        FileSystemRights.FullControl, AccessControlType.Deny)); 
    filesindires.SetAccessControl(ds); 
} 

用這種方法我拒絕用戶打開文件,但我只想防止複製。如何防止在允許用戶閱讀的同時複製文件?

+0

打開一個文件來讀取它並打開一個文件來複制文件並沒有真正的區別 - 它們都將讀取數據。唯一的區別是複製操作傾向於將數據寫回另一個文件。 –

+0

如何以編程方式設置權限將在這裏的主題,但這個問題是如何選擇權限,這與編程無關。 –

+0

如果你可以讀取文件的內容,你可以複製它。複製只是創建一個新文件並複製文件的名稱,屬性和內容。 – user957902

回答

1

如果你可以閱讀它,你可以複製它。

+0

要迂腐,它應該是「如果你可以閱讀它,並且你可以創建一個文件(任何地方),你可以複製它。」 – HaskellElephant

+0

@HaskellElephant:創建一個文件,或打開一個傳出網絡連接。但是,是的,你的精神是正確的。 –

+0

以及你需要能夠在連接到網絡的任何其他機器上打開文件:-)。 – HaskellElephant