[英]Remove All Directory Permissions
在C#(2.0)中如何刪除目錄的所有權限,因此我可以限制訪問權限。 我將向一組有限的用戶添加訪問權限。
免責聲明:我意識到這已經得到了回答和接受,我真的想發布這個作為對已接受答案的評論,但是無法格式化評論迫使我發布這個作為答案(從技術上講,它是)....
我當時也想做同樣的事情,並找到了你的問題。 Stu的回答幫助我提出了這個解決方案。 (請注意,我只對刪除顯式安全性感興趣)。
private static DirectorySecurity RemoveExplicitSecurity(DirectorySecurity directorySecurity)
{
AuthorizationRuleCollection rules = directorySecurity.GetAccessRules(true, false, typeof(System.Security.Principal.NTAccount));
foreach (FileSystemAccessRule rule in rules)
directorySecurity.RemoveAccessRule(rule);
return directorySecurity;
}
這顯然用作如下:
DirectoryInfo directoryInfo = new DirectoryInfo(path);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
directorySecurity = RemoveExplicitSecurity(directorySecurity);
Directory.SetAccessControl(path, directorySecurity);
查看System.Security.AccessControl命名空間中的類,尤其是DirectorySecurity.RemoveAccessRule方法。
此外,如果您刪除所有權限,那么之后您將無法添加任何權限:-)
System.IO.Directory.GetAccessControl()然后編輯返回的FileSecurity對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.