允许对文件进行读/写访问,同时阻止其他人

时间:2015-05-11 09:32:33

标签: c# .net file-access file-security

我有一个需要写入密码的文件。 进程从文件中读取密码并将密码写入文件,以便运行该进程的用户需要访问该文件。但是,我希望阻止访问其他人。 目前我已经尝试过以下方法:

    WindowsIdentity privilegedUser = WindowsIdentity.GetCurrent();
SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
FileSecurity acl = new FileSecurity();
acl.AddAccessRule(new FileSystemAccessRule(everyone, FileSystemRights.Read, AccessControlType.Deny));
acl.PurgeAccessRules(privilegedUser.User);
acl.AddAccessRule(new FileSystemAccessRule(privilegedUser.User, FileSystemRights.Modify,
    AccessControlType.Allow));
File.SetAccessControl(_mirrorConfigFilePath, acl);

然而,当进程尝试读取文件时,我收到了UnauthorizedAccessException。 我认为这是因为拒绝对每个人的读访问权的第一条规则优先。任何想法我怎么解决这个问题?或者我在这里的想法是否正确?!

0 个答案:

没有答案