MessageQueue.SetPermissions メソッド (String, MessageQueueAccessRights)
コンピュータ、グループ、またはユーザーに指定したアクセス権を与えます。
Overloads Public Sub SetPermissions( _
ByVal user As String, _ ByVal rights As MessageQueueAccessRights _)
[C#]
public void SetPermissions(stringuser,MessageQueueAccessRightsrights);
[C++]
public: void SetPermissions(String* user,MessageQueueAccessRightsrights);
[JScript]
public function SetPermissions(
user : String,rights : MessageQueueAccessRights);
パラメータ
- user
キューに対する追加のアクセス権を取得するそれぞれのユーザー、グループ、またはコンピュータ。 - rights
メッセージ キューが user に割り当てるキューに対するアクセス権のセットを示す MessageQueueAccessRights 。
例外
例外の種類 | 条件 |
---|---|
ArgumentException | user が null 参照 (Visual Basic では Nothing) です。 |
MessageQueueException | メッセージ キューの API にアクセスしたときにエラーが発生しました。 |
解説
このオーバーロードを使用して、指定したアクセス権をそれぞれのユーザーに与えます。ユーザーは、任意の有効なトラスティ (個別のユーザー、ユーザー グループ、またはコンピュータ) になることができます。ユーザーが個別のユーザーの場合、 user パラメータには書式 DOMAIN\ user を使用します。ローカル コンピュータを示す場合は、 user パラメータに "." を指定します。
SetPermissions で割り当てたアクセス許可は、既存のリストに権利を追加します。既定では、パブリック キューまたはプライベート キューの作成者にフル コントロールが付与され、ドメイン グループ Everyone にキューのプロパティの取得、アクセス許可の取得、およびキューへの書き込み権限が付与されます。 SetPermissions を呼び出す場合は、ユーザーとアクセス許可の情報が既存リストの末尾に追加されます。
システムは、下記のイベントのいずれかが発生するまで各 AccessControlEntry を順番に調べます。
- アクセス拒否 AccessControlEntry が、スレッドのアクセス トークンにリストされているトラスティの 1 つについて要求されたアクセス権を明示的に拒否します。
- スレッドのアクセス トークンにリストされたトラスティの 1 つ以上のアクセス許可 AccessControlEntry 項目が、要求されたすべてのアクセス権を明示的に与えます。
- すべての AccessControlEntry 項目を確認した結果、要求されたアクセス権の中に明示的に許可されていないアクセス権が少なくとも 1 つあった場合はアクセスが暗黙的に拒否されます。
rights パラメータで指定するキューに対するアクセス権は、次の任意の組み合わせにできます。
- フル コントロール
- メッセージの削除
- メッセージの受信
- メッセージのピーク
- ジャーナル メッセージの受信
- キューのプロパティの取得
- キューのプロパティの設定
- アクセス許可の取得
- アクセス許可の設定
- キューの所有権の取得
- メッセージの書き込み
MessageQueueAccessRights 列挙体はビット フラグのセットを表し、 rights パラメータを構築するときにビット処理演算子 OR を使用して組み合わせることができます。
このオーバーロードでは、アクセス許可を与えることができるだけで、取り消しまたは拒否はできません。 Allow 以外の AccessControlEntryType を明示的に与えるには、別のオーバーロードを使用する必要があります。
このメソッドが各種のワークグループ モードで使用できるかどうかを次の表に示します。
ワークグループ モード | 使用可否 |
---|---|
ローカル コンピュータ | はい |
ローカル コンピュータ + 直接書式名 | はい |
リモート コンピュータ | いいえ |
リモート コンピュータ + 直接書式名 | いいえ |
必要条件
プラットフォーム: 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