0

我已经编写了代码来使用 c# 将文件夹的权限设置为只读。代码工作正常,当前用户的访问被拒绝。现在的问题是如何以编程方式删除同一文件夹的安全权限。甚至我也使用了相同的代码并赋予用户完全权限。我无法访问该文件夹并且对路径的访问被拒绝引发异常。

以下代码用于设置权限

DirectoryInfo myDirectoryInfo = new DirectoryInfo(path);
// Get a DirectorySecurity object that represents the current security settings
DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
string User = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User, FileSystemRights.Read, AccessControlType.Allow));
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User, FileSystemRights.Modify, AccessControlType.Deny));
//set the new access settings
myDirectoryInfo.SetAccessControl(myDirectorySecurity);

并且此代码用于允许修改文件夹

// Get directory access info
DirectoryInfo dinfo = new DirectoryInfo(path);
DirectorySecurity dSecurity = dinfo.GetAccessControl();

// Add the FileSystemAccessRule to the security settings. 
dSecurity.AddAccessRule(new FileSystemAccessRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.NoPropagateInherit, AccessControlType.Allow));

// Set the access control
dinfo.SetAccessControl(dSecurity);
4

0 回答 0