我正试图找到一个文件夹。目的是当我要求我的程序创建这个文件时,在这个文件夹中创建一个文件。我几乎尝试了所有方法,但仍然无法正常工作。
try
{
DirectorySecurity ds = Directory.GetAccessControl(path);
foreach (FileSystemAccessRule rule in ds.GetAccessRules(true, true, typeof(System.Security.Principal.SecurityIdentifier)))
{
if ((rule.FileSystemRights & FileSystemRights.CreateFiles) > 0 /*== FileSystemRights.CreateFiles)*/)
return true;
}
}
catch (UnauthorizedAccessException e)
{
return false;
}
return false;
我的问题是: FileSystemAccessRule 说我有权限但是当我想创建我的文件时,出现“unauthorizedexception”异常。
我尝试使用 DirectoryInfo,如下所示:
DirectoryInfo di = new DirectoryInfo(path);
DirectorySecurity ds = di.GetAccessControl();
而不是直接使用“目录”对象。另外,我认为我的问题与 GetAccessRules 有关,所以我尝试使用 SecurityIdentifier 和 NTAccount,两者都说我在这个文件夹(FullControl)上拥有所有权利,而最后,我没有任何权利. 当然,我的道路很好,我检查了它。
有人知道另一种方法来获得正确的文件夹,或者如果我做错了什么,一点帮助将是一种乐趣。