62,243
社区成员




private static List<FileSystemRights> GetQuanXian()
{
List<FileSystemRights> ret = new List<FileSystemRights>();
DirectorySecurity dirSec = Directory.GetAccessControl(@"d:\\test.txt", AccessControlSections.All);
AuthorizationRuleCollection rules = dirSec.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
foreach (FileSystemAccessRule rule in rules)
{
ret.Add(rule.FileSystemRights);
}
return ret;
}
ret里面就是各个帐号对该目录的访问权限,你在里面判断一下就知道了,格式是这样的:ReadData | WriteData | AppendData | ReadExtendedAttributes | WriteExtendedAttributes | ExecuteFile | DeleteSubdirectoriesAndFiles | ReadAttributes | WriteAttributes | Delete | ReadPermissions | ChangePermissions | TakeOwnership | Synchronize //
// 摘要:
// 获取 System.Security.AccessControl.DirectorySecurity 对象,该对象封装当前 System.IO.DirectoryInfo
// 对象所描述的目录的访问控制列表 (ACL) 项。
//
// 返回结果:
// 一个 System.Security.AccessControl.DirectorySecurity 对象,该对象封装此目录的访问控制规则。
//
// 异常:
// System.SystemException:
// 未能找到或修改该目录。
//
// System.UnauthorizedAccessException:
// 当前进程不具有打开该目录的权限。
//
// System.IO.IOException:
// 打开目录时发生 I/O 错误。
//
// System.PlatformNotSupportedException:
// 当前操作系统不是 Microsoft Windows 2000 或更高版本。
//
// System.UnauthorizedAccessException:
// 目录为只读。- 或 - 在当前平台上不支持此操作。- 或 - 调用方没有所要求的权限。
public DirectorySecurity GetAccessControl();