MessageQueue.SetPermissions メソッド

定義

現在のセットにアクセス許可を追加します。 これにより、キュー内のキューのプロパティとメッセージに対するアクセス権を持つユーザーが制御されます。

オーバーロード

名前 説明
SetPermissions(AccessControlList)

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

SetPermissions(MessageQueueAccessControlEntry)

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

SetPermissions(String, MessageQueueAccessRights)

コンピューター、グループ、またはユーザーに、指定したアクセス権を付与します。

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

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

SetPermissions(AccessControlList)

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

public:
 void SetPermissions(System::Messaging::AccessControlList ^ dacl);
public void SetPermissions(System.Messaging.AccessControlList dacl);
member this.SetPermissions : System.Messaging.AccessControlList -> unit
Public Sub SetPermissions (dacl As AccessControlList)

パラメーター

dacl
AccessControlList

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

例外

メッセージ キュー メソッドにアクセスするときにエラーが発生しました。

次のコード例は、 SetPermissions(AccessControlList)の使用方法を示しています。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create an AccessControlList.
AccessControlList^ list = gcnew AccessControlList();

// Create a new trustee to represent the "Everyone" user group.
Trustee^ tr = gcnew Trustee("Everyone");

// Create an AccessControlEntry, granting the trustee read access to
// the queue.
AccessControlEntry^ entry = gcnew AccessControlEntry(
    tr, GenericAccessRights::Read,
    StandardAccessRights::Read,
    AccessControlEntryType::Allow);

// Add the AccessControlEntry to the AccessControlList.
list->Add(entry);

// Apply the AccessControlList to the queue.
queue->SetPermissions(list);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create an AccessControlList.
AccessControlList list = new AccessControlList();

// Create a new trustee to represent the "Everyone" user group.
Trustee tr = new Trustee("Everyone");

// Create an AccessControlEntry, granting the trustee read access to
// the queue.
AccessControlEntry entry = new AccessControlEntry(
    tr, GenericAccessRights.Read,
    StandardAccessRights.Read,
    AccessControlEntryType.Allow);

// Add the AccessControlEntry to the AccessControlList.
list.Add(entry);

// Apply the AccessControlList to the queue.
queue.SetPermissions(list);

注釈

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

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

既存のリストに権限を追加 SetPermissions 使用して割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 SetPermissionsを呼び出すと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

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

  • アクセス拒否 AccessControlEntry は、スレッドのアクセス トークンに記載されているトラスティのいずれかに対して要求されたアクセス権を明示的に拒否します。

  • スレッドのアクセス トークンにリストされているトラスティの 1 つ以上のアクセス許可 AccessControlEntry 項目は、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていないアクセス権が少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

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

  • Delete

  • セキュリティの読み取り

  • 書き込みセキュリティ

  • Synchronize

  • 所有者の変更

  • Read

  • 書き込む

  • 実行

  • 必須

  • すべて

  • None

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

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージをピークする

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可の設定

  • キューの所有権を取得する

  • メッセージの書き込み

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 在庫有り
ローカル コンピューター はい
ローカル コンピューターと直接の形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接の形式名 いいえ

こちらもご覧ください

適用対象

SetPermissions(MessageQueueAccessControlEntry)

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

public:
 void SetPermissions(System::Messaging::MessageQueueAccessControlEntry ^ ace);
public void SetPermissions(System.Messaging.MessageQueueAccessControlEntry ace);
member this.SetPermissions : System.Messaging.MessageQueueAccessControlEntry -> unit
Public Sub SetPermissions (ace As MessageQueueAccessControlEntry)

パラメーター

ace
MessageQueueAccessControlEntry

ユーザー、アクセスの種類、およびアクセス許可の種類を指定する MessageQueueAccessControlEntry

例外

メッセージ キュー メソッドにアクセスするときにエラーが発生しました。

次のコード例は、 SetPermissions(MessageQueueAccessControlEntry)の使用方法を示しています。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create a new trustee to represent the "Everyone" user group.
Trustee^ tr = gcnew Trustee("Everyone");

// Create a MessageQueueAccessControlEntry, granting the trustee the
// right to receive messages from the queue.
MessageQueueAccessControlEntry^ entry = gcnew
    MessageQueueAccessControlEntry(
    tr, MessageQueueAccessRights::ReceiveMessage,
    AccessControlEntryType::Allow);

// Apply the MessageQueueAccessControlEntry to the queue.
queue->SetPermissions(entry);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create a new trustee to represent the "Everyone" user group.
Trustee tr = new Trustee("Everyone");

// Create a MessageQueueAccessControlEntry, granting the trustee the
// right to receive messages from the queue.
MessageQueueAccessControlEntry entry = new
    MessageQueueAccessControlEntry(
    tr, MessageQueueAccessRights.ReceiveMessage,
    AccessControlEntryType.Allow);

// Apply the MessageQueueAccessControlEntry to the queue.
queue.SetPermissions(entry);

注釈

アクセス制御エントリを使用してトラスティと権限の情報を指定することで、権限を付与、拒否、または取り消すには、このオーバーロードを使用します。

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

既存のリストに権限を追加 SetPermissions 使用して割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 SetPermissionsを呼び出すと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

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

  • アクセス拒否 AccessControlEntry は、スレッドのアクセス トークンに記載されているトラスティのいずれかに対して要求されたアクセス権を明示的に拒否します。

  • スレッドのアクセス トークンにリストされているトラスティの 1 つ以上のアクセス許可 AccessControlEntry 項目は、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていないアクセス権が少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

MessageQueueAccessControlEntryを構築するときに rights パラメーターで指定するキューに対する権限は、次の任意の組み合わせにすることができます。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージをピークする

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可の設定

  • キューの所有権を取得する

  • メッセージの書き込み

ace パラメーターのコンストラクターで指定するrights パラメーターは、MessageQueueAccessRights列挙体のフラグです。 これは、 rights パラメーターをビルドするときにビット演算子 OR を使用して組み合わせることができるビット フラグのセットを表します。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 在庫有り
ローカル コンピューター はい
ローカル コンピューターと直接の形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接の形式名 いいえ

こちらもご覧ください

適用対象

SetPermissions(String, MessageQueueAccessRights)

コンピューター、グループ、またはユーザーに、指定したアクセス権を付与します。

public:
 void SetPermissions(System::String ^ user, System::Messaging::MessageQueueAccessRights rights);
public void SetPermissions(string user, System.Messaging.MessageQueueAccessRights rights);
member this.SetPermissions : string * System.Messaging.MessageQueueAccessRights -> unit
Public Sub SetPermissions (user As String, rights As MessageQueueAccessRights)

パラメーター

user
String

キューに対する追加の権限を取得する個人、グループ、またはコンピューター。

rights
MessageQueueAccessRights

メッセージ キューが渡されたuserに割り当てるキューに対する権限のセットを示すMessageQueueAccessRights

例外

usernull です。

メッセージ キュー メソッドにアクセスするときにエラーが発生しました。

次のコード例は、 SetPermissions(String, MessageQueueAccessRights)の使用方法を示しています。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue->SetPermissions("Everyone",
    MessageQueueAccessRights::ReceiveMessage);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue.SetPermissions("Everyone", MessageQueueAccessRights.ReceiveMessage);

注釈

このオーバーロードを使用して、指定した権限を個々のユーザーに付与します。 ユーザーには、個々のユーザー、ユーザーのグループ、またはコンピューターを含む任意の有効なトラスティを指定できます。 ユーザーが個人の場合は、user パラメーターの形式DOMAIN\userを使用します。 user パラメーターに "." を指定して、ローカル コンピューターを示すことができます。

既存のリストに権限を追加 SetPermissions 使用して割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 SetPermissionsを呼び出すと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

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

  • アクセス拒否 AccessControlEntry は、スレッドのアクセス トークンに記載されているトラスティのいずれかに対して要求されたアクセス権を明示的に拒否します。

  • スレッドのアクセス トークンにリストされているトラスティの 1 つ以上のアクセス許可 AccessControlEntry 項目は、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていないアクセス権が少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

rights パラメーターで指定されたキューに対する権限は、次の任意の組み合わせにすることができます。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージをピークする

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可の設定

  • キューの所有権を取得する

  • メッセージの書き込み

MessageQueueAccessRights列挙は、ビットごとの演算子 OR を使用して組み合わせてrights パラメーターを構築できるビット フラグのセットを表します。

このオーバーロードでは、アクセス許可のみを付与できます。それらを取り消したり拒否したりすることはできません。 Allow以外のAccessControlEntryTypeを明示的に許可するには、別のオーバーロードを使用する必要があります。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 在庫有り
ローカル コンピューター はい
ローカル コンピューターと直接の形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接の形式名 いいえ

こちらもご覧ください

適用対象

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

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

public:
 void SetPermissions(System::String ^ user, System::Messaging::MessageQueueAccessRights rights, System::Messaging::AccessControlEntryType entryType);
public void SetPermissions(string user, System.Messaging.MessageQueueAccessRights rights, System.Messaging.AccessControlEntryType entryType);
member this.SetPermissions : string * System.Messaging.MessageQueueAccessRights * System.Messaging.AccessControlEntryType -> unit
Public Sub SetPermissions (user As String, rights As MessageQueueAccessRights, entryType As AccessControlEntryType)

パラメーター

user
String

キューに対する追加の権限を取得する個人、グループ、またはコンピューター。

rights
MessageQueueAccessRights

メッセージ キューが渡されたuserに割り当てるキューに対する権限のセットを示すMessageQueueAccessRights

entryType
AccessControlEntryType

rights パラメーターで指定されたアクセス許可を許可、拒否、または取り消すかどうかを指定するAccessControlEntryType

例外

メッセージ キュー メソッドにアクセスするときにエラーが発生しました。

次のコード例は、 SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)の使用方法を示しています。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue->SetPermissions("Everyone",
    MessageQueueAccessRights::ReceiveMessage,
    AccessControlEntryType::Allow);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue.SetPermissions("Everyone", MessageQueueAccessRights.ReceiveMessage,
    AccessControlEntryType.Allow);

注釈

このオーバーロードを使用して、個々のユーザーに対して指定された権限を付与、拒否、または取り消します。 ユーザーには、個々のユーザー、ユーザーのグループ、またはコンピューターを含む任意の有効なトラスティを指定できます。 ユーザーが個人の場合は、user パラメーターの形式DOMAIN\userを使用します。 user パラメーターに "." を指定して、ローカル コンピューターを示すことができます。

既存のリストに権限を追加 SetPermissions 使用して割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 SetPermissionsを呼び出すと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

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

  • アクセス拒否 AccessControlEntry は、スレッドのアクセス トークンに記載されているトラスティのいずれかに対して要求されたアクセス権を明示的に拒否します。

  • スレッドのアクセス トークンにリストされているトラスティの 1 つ以上のアクセス許可 AccessControlEntry 項目は、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていないアクセス権が少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

rights パラメーターで指定されたキューに対する権限は、次の任意の組み合わせにすることができます。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージをピークする

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可の設定

  • キューの所有権を取得する

  • メッセージの書き込み

MessageQueueAccessRights列挙は、ビットごとの演算子 OR を使用して組み合わせてrights パラメーターを構築できるビット フラグのセットを表します。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 在庫有り
ローカル コンピューター はい
ローカル コンピューターと直接の形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接の形式名 いいえ

こちらもご覧ください

適用対象