次の方法で共有


MessageQueue.SetPermissions メソッド (AccessControlList)

アクセス制御リストの内容に基づいてアクセス権をキューに割り当てます。

Overloads Public Sub SetPermissions( _
   ByVal dacl As AccessControlList _)
[C#]
public void SetPermissions(AccessControlListdacl);
[C++]
public: void SetPermissions(AccessControlList* dacl);
[JScript]
public function SetPermissions(
   dacl : AccessControlList);

パラメータ

  • dacl
    トラスティと与えるアクセス許可を指定する 1 つ以上のアクセス制御エントリを含む AccessControlList

例外

例外の種類 条件
MessageQueueException メッセージ キューの API にアクセスしたときにエラーが発生しました。

解説

このオーバーロードを使用して、アクセス権の付与、拒否、または取り消しを行います。これは、アクセス制御エントリのコレクションを使用して、トラスティとアクセス権の情報を指定することで行います。これを使用して、たとえば、同時に複数のユーザーにアクセス許可を与えます。

ace パラメータを構築するときに、トラスティとしてユーザー、ユーザー グループ、またはコンピュータをそれぞれ指定できます。トラスティが個別のユーザーの場合、書式 DOMAIN\ user を使用します。トラスティがローカル コンピュータの場合は、"." と指定します。

SetPermissions で割り当てたアクセス許可は、既存のリストに権利を追加します。既定では、パブリック キューまたはプライベート キューの作成者にフル コントロールが付与され、ドメイン グループ Everyone にキューのプロパティの取得、アクセス許可の取得、およびキューへの書き込み権限が付与されます。 SetPermissions を呼び出す場合は、ユーザーとアクセス許可の情報が既存リストの末尾に追加されます。

システムは、下記のイベントのいずれかが発生するまで各 AccessControlEntry を順番に調べます。

  • アクセス拒否 AccessControlEntry が、スレッドのアクセス トークンにリストされているトラスティの 1 つについて要求されたアクセス権を明示的に拒否します。
  • スレッドのアクセス トークンにリストされたトラスティの 1 つ以上のアクセス許可 AccessControlEntry 項目が、要求されたすべてのアクセス権を明示的に与えます。
  • すべての AccessControlEntry 項目を確認した結果、要求されたアクセス権の中に明示的に許可されていないアクセス権が少なくとも 1 つあった場合はアクセスが暗黙的に拒否されます。

dacl パラメータを構築するときに、 AccessControlEntry インスタンスを AccessControlList コレクションに追加します。各アクセス制御エントリを構築するときに、汎用 (標準) アクセス権を指定できます。キューに対するアクセス権は、次の任意の組み合わせにできます。

  • 削除
  • セキュリティの読み取り
  • セキュリティの書き込み
  • 同期化
  • 所有者の変更
  • 読み取り
  • 書き込み
  • 実行
  • 必須
  • すべて
  • なし

これらのアクセス権はビット フラグのセットです。ビット処理演算子 OR を使用して組み合わせることができます。

  • フル コントロール
  • メッセージの削除
  • メッセージの受信
  • メッセージのピーク
  • ジャーナル メッセージの受信
  • キューのプロパティの取得
  • キューのプロパティの設定
  • アクセス許可の取得
  • アクセス許可の設定
  • キューの所有権の取得
  • メッセージの書き込み

このメソッドが各種のワークグループ モードで使用できるかどうかを次の表に示します。

ワークグループ モード 使用可否
ローカル コンピュータ はい
ローカル コンピュータ + 直接書式名 はい
リモート コンピュータ いいえ
リモート コンピュータ + 直接書式名 いいえ

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

MessageQueue クラス | MessageQueue メンバ | System.Messaging 名前空間 | MessageQueue.SetPermissions オーバーロードの一覧 | ResetPermissions | Trustee | AccessControlList