阻止其他c#程序重置文件的权限

时间:2013-03-01 04:05:23

标签: c#

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

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#代码重置文件权限。请帮帮我。感谢

1 个答案:

答案 0 :(得分:2)

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

你最好通过Windows NTFS权限管理这个,所以其他应用程序的用户没有权限更改权限(因此他们也没有运行ap)