1

私には独特の悩みがあります。

ユーザーアカウントのアクセス許可をテストするクラスを開発しています。ほとんどの基礎をカバーしました。しかし、私が最も関心を持っているのは、Nullまたはに対するテストSIDです。

私が懸念している理由は次のとおりです。

if(user != null)
{
   role.IsInRole(WindowsBuiltInRole.Administrator);
}

明らかに簡単な実装ですが、WindowsBuiltInRoleチェックは個々のマシンまたはドメインに対して厳密に行われますか? ユーザーのドメイン アカウントが実際に管理者である場合、テストは成功しますか?

SIDまたは、5 つまたは 6 つのドメイントークンに対してテストするより良い方法はありますか? ネットワーク サービス アカウントなどの他のユーザー アカウントは、同じように操作されますか? トークン値の信頼性を確保する最善の方法は何でしょうか。

どんな入力も素晴らしいでしょう。

4

2 に答える 2

1

WindowsBuiltInRole Enumeration の定義により、次の場所にあります。

WindowsBuiltInRole 列挙

WindowsBuiltInRole.Administrator の役割は、コンピューターとドメインの両方で制限なく機能します。

WindowsBuiltInRole.PowerUser はアプリケーションを実行できますが、インストールやアンインストールはできません。

WindowsBuiltInRole.AccountAdministrator は、アカウントを管理し、権限を変更することもできますが、(分散展開のように) ドメイン全体の変更を行うことはできません。

WindowsBuiltInRole.BackupOperator は、ファイルのバックアップまたは復元のみを目的として、セキュリティ制限をオーバーライドできます。

WindowsBuiltInRole.Replicator は、ドメイン内のファイル レプリケーションをサポートします。

これらのさまざまな役割があいまいに見えるかもしれませんが、管理者以外のすべてのユーザーがすべての管理者タスクを実行できるわけではなく、一部の管理者タスクを実行できると推測できます。

于 2013-03-28T19:40:09.603 に答える