次の方法で共有


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します。 各アクセス制御エントリを作成するときに、汎用または標準のアクセス権を指定できます。 キューに対する権限は、次の任意の組み合わせにすることができます。

  • 削除

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

  • 書き込みセキュリティ

  • 同期

  • 所有者の変更

  • Read

  • Write

  • 実行

  • 必須

  • All

  • なし

これらの権限は、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指定するキューに対する権限は、次の任意の組み合わせにすることができます。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージのピーク

  • メッセージジャーナル受信

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

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

  • アクセス許可の取得

  • アクセス許可を設定する

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

  • メッセージの書き込み

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

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

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接の形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 いいえ

こちらもご覧ください

適用対象

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);

注釈

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

注釈

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

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

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

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

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

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

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

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージのピーク

  • メッセージジャーナル受信

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

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

  • アクセス許可の取得

  • アクセス許可を設定する

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

  • メッセージの書き込み

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

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

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式の名前 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 いいえ

こちらもご覧ください

適用対象