我有一个需要写入密码的文件。 进程从文件中读取密码并将密码写入文件,以便运行该进程的用户需要访问该文件。但是,我希望阻止访问其他人。 目前我已经尝试过以下方法:
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。 我认为这是因为拒绝对每个人的读访问权的第一条规则优先。任何想法我怎么解决这个问题?或者我在这里的想法是否正确?!