次の方法で共有


MessageQueue.SetPermissions メソッド (String, MessageQueueAccessRights, AccessControlEntryType)

アクセス制御の種類 (許可、拒否、取り消し、またはセット) からいずれかを指定して、コンピュータ、グループ、またはユーザーに指定したアクセス権を付与します。

Overloads Public Sub SetPermissions( _
   ByVal user As String, _   ByVal rights As MessageQueueAccessRights, _   ByVal entryType As AccessControlEntryType _)
[C#]
public void SetPermissions(stringuser,MessageQueueAccessRightsrights,AccessControlEntryTypeentryType);
[C++]
public: void SetPermissions(String* user,MessageQueueAccessRightsrights,AccessControlEntryTypeentryType);
[JScript]
public function SetPermissions(
   user : String,rights : MessageQueueAccessRights,entryType : AccessControlEntryType);

パラメータ

  • user
    キューに対する追加のアクセス権を取得するそれぞれのユーザー、グループ、またはコンピュータ。
  • rights
    メッセージ キューが user に割り当てるキューに対するアクセス権のセットを示す MessageQueueAccessRights
  • entryType
    rights パラメータで指定したアクセス許可で、付与、拒否、取り消しのどの操作を実行するかを指定する AccessControlEntryType

例外

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

解説

このオーバーロードを使用して、それぞれのユーザーに対して指定したアクセス権の付与、拒否、または取り消しを行います。ユーザーは、任意の有効なトラスティ (個別のユーザー、ユーザー グループ、またはコンピュータ) になることができます。ユーザーが個別のユーザーの場合、 user パラメータには書式 DOMAIN\ user を使用します。ローカル コンピュータを示す場合は、 user パラメータに "." を指定します。

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

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

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

rights パラメータで指定するキューに対するアクセス権は、次の任意の組み合わせにできます。

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

MessageQueueAccessRights 列挙体はビット フラグのセットを表し、 rights パラメータを構築するときにビット処理演算子 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 | MessageQueueAccessRights | AccessControlEntry