0

我使用此代码拒绝对文件的权限。它工作得很好。

string fileName = @"c:\untitled.jpg";
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.AddAccessRule(new FileSystemAccessRule("Everyone",    
                        FileSystemRights.FullControl, AccessControlType.Deny));
File.SetAccessControl(fileName, fSecurity);

以及以下用于重置访问控制的代码

fSecurity.ResetAccessRule(new FileSystemAccessRule("Everyone", 
                     FileSystemRights.FullControl, AccessControlType.Allow));

现在,当我为文件设置权限时。我不希望其他人重置文件的权限,但是当我打开一个新项目并复制代码以重置文件的访问规则时,它已经重置了文件的权限。我不希望这种情况发生。

我只希望我的 C# 代码重置文件的权限,因为了解 C# 编程的人可以轻松地将权限重置为已被我的 C# 代码拒绝的文件。

我可以阻止其他人通过我的 c# 代码重置文件的权限吗?文件权限只能通过我的 C# 代码重置。

4

1 回答 1

2

其他任何人都可以编写您编写的相同代码来更新权限,因此您无法通过代码执行此操作(除非您的程序永久运行并且您锁定了文件)

您最好通过 Windows NTFS 权限来管理它,这样其他应用程序的用户就没有更改权限的权限(因此他们正在运行的应用程序也没有)

于 2013-03-01T04:10:49.567 回答