-2

ファイルが与えられた場合、C# と .NET Framework 4 を使用してそのファイルへの読み取りアクセス権を持つすべてのユーザーを一覧表示する必要があります。他のアクセス許可を追加または一覧表示することに関心はありません。ディレクトリがローカル ディレクトリであり、ローカル ユーザーで十分であると仮定します。

4

1 に答える 1

0

そのリストを取得する簡単な方法があるかどうかはわかりませんが、ここにアイデアがあります。アクセス制御ルールをループして、どのユーザーがファイルを読み取ることができるかを確認できます。アクセスを許可するルールと拒否するルールがあることに注意してください。出発点は次のとおりです。

using System.IO;
using System.Security.AccessControl;

...

FileSecurity security = File.GetAccessControl(@"C:\MyFolder\My File.txt");

AuthorizationRuleCollection acl = security.GetAccessRules(
   true, true, typeof(System.Security.Principal.NTAccount));
foreach (FileSystemAccessRule ace in acl)
{
   var user = ace.IdentityReference.Value;
   var rights = ace.FileSystemRights;
   var allowOrDeny = ace.AccessControlType;
   // ...
}

詳細については、 FileSystemAccessRuleを確認してください。

于 2012-10-24T13:54:53.903 に答える