filesystemwatcher を試してみましたが、ファイルへのアクセスを監視するのには役に立ちません。そうするためのインターフェースはありますか?
質問する
771 次
3 に答える
1
Catch UnauthorizedAccessException
,if caught then You have no access.
于 2012-10-17T07:58:49.153 に答える
0
簡単な監査には、監査ポリシーを使用できます。実際のアクセスが発生する前にアクションを実行する (または複雑なロジックに基づいてアクセスを防止する) 場合は、ファイルシステムフィルタードライバーを使用する必要があります。独自のドライバーを作成するか (カーネル モード ドライバーの作成スキルと数か月の作業が必要)、ドライバーを提供し、.NET を含むユーザー モードでビジネス ロジックを記述できる CallbackFilter 製品を使用します。
于 2012-10-17T08:57:08.577 に答える
0
FileIOPermission
クラスについて詳しく読むことができます。
または、次のようなカスタム メソッドを使用します。
public static bool HasWritePermissionOnDir(string path)
{
var writeAllow = false;
var writeDeny = false;
var accessControlList = Directory.GetAccessControl(path);
if(accessControlList == null)
return false;
var accessRules = accessControlList.GetAccessRules(true, true, typeof(System.Security.Principal.SecurityIdentifier));
if(accessRules ==null)
return false;
foreach (FileSystemAccessRule rule in accessRules)
{
if ((FileSystemRights.Write & rule.FileSystemRights) != FileSystemRights.Write)
continue;
if (rule.AccessControlType == AccessControlType.Allow)
writeAllow = true;
else if (rule.AccessControlType == AccessControlType.Deny)
writeDeny = true;
}
return writeAllow && !writeDeny;
}
于 2012-10-17T07:29:46.793 に答える