私はフォルダを正しく取得しようとしています。目的は、プログラムにこのファイルを作成するように依頼したときに、このフォルダー内にファイルを作成することです。ほとんどすべてを試しましたが、まだ機能しません。
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) に対するすべての権利を持っていると言っていましたが、最後には権利がありません。 . そしてもちろん、私の道は良いです、私はそれをチェックしました。
フォルダの権限を取得する別の方法を誰かが知っているか、何か間違ったことをした場合は、少し助けていただければ幸いです。