如何获得目录的拒绝权限的设置?

泡泡龙 2013-06-18 10:36:36
DirectorySecurity dSecurity = Directory.GetAccessControl(dirInfo.FullName, AccessControlSections.All);
AuthorizationRuleCollection rules = dSecurity.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
Hashtable rights = new Hashtable();
foreach (FileSystemAccessRule rule in rules)
{
rights[rule.IdentityReference.ToString()] = rule.FileSystemRights;
}
StringBuilder sb = new StringBuilder();
foreach (string key in rights.Keys)
{
sb.Append(key + ":\t" + ((FileSystemRights)rights[key]).ToString() + "\r\n");
}

用上面的代码,在Win7下,只能获得目录的允许权限规则。可是,如果目录设置了拒绝权限,还是不能访问的。如何得到拒绝权限的规则呢?





...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡龙 2013-06-18
  • 打赏
  • 举报
回复
if (rule.AccessControlType == AccessControlType.Allow) 这个可以判断是允许权限还是拒绝权限
泡泡龙 2013-06-18
  • 打赏
  • 举报
回复
DirectorySecurity dSecurity = Directory.GetAccessControl(dirInfo.FullName, AccessControlSections.Access); AuthorizationRuleCollection rules = dSecurity.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)); foreach (FileSystemAccessRule rule in rules) { string identityname = rule.IdentityReference.ToString(); 这个遍历可以获得目录的权限,但是我还是没法与进程当前用户联系起来,获得的目录大部分都只有组的权限,怎么知道进程用户的目录权限呢?
泡泡龙 2013-06-18
  • 打赏
  • 举报
回复
如何能快速判断是否对目录具有读的权限? 也就是说 在允许权限里面---读 在拒绝权限里面---没有 Fullcontrol 和 读

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧