Freigeben über


MessageQueue.SetPermissions Methode

Definition

Fügt dem aktuellen Satz Berechtigungen hinzu. Dadurch wird gesteuert, wer Über Zugriffsrechte für Warteschlangeneigenschaften und Nachrichten in der Warteschlange verfügt.

Überlädt

SetPermissions(AccessControlList)

Weist der Warteschlange Zugriffsrechte basierend auf dem Inhalt einer Zugriffssteuerungsliste zu.

SetPermissions(MessageQueueAccessControlEntry)

Weist der Warteschlange Zugriffsrechte basierend auf dem Inhalt eines Zugriffssteuerungseintrags zu.

SetPermissions(String, MessageQueueAccessRights)

Gewährt einem Computer, einer Gruppe oder einem Benutzer die angegebenen Zugriffsrechte.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Gewährt einem Computer, einer Gruppe oder einem Benutzer die angegebenen Zugriffsrechte mit dem angegebenen Zugriffssteuerungstyp (Zulassen, Verweigern, Widerrufen oder Festlegen).

SetPermissions(AccessControlList)

Weist der Warteschlange Zugriffsrechte basierend auf dem Inhalt einer Zugriffssteuerungsliste zu.

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)

Parameter

dacl
AccessControlList

Eine AccessControlList, die einen oder mehrere Zugriffssteuerungseinträge enthält, die die Trustees und die zu erteilenden Berechtigungen angeben.

Ausnahmen

Fehler beim Zugriff auf eine Message Queuing-Methode.

Beispiele

Im folgenden Codebeispiel wird die Verwendung von SetPermissions(AccessControlList)veranschaulicht.


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

Hinweise

Verwenden Sie diese Überladung, um Berechtigungen zu gewähren, zu verweigern oder zu widerrufen, indem Sie eine Sammlung von Zugriffssteuerungseinträgen verwenden, um Vertrauensstellungs- und Berechtigungsinformationen anzugeben. Dies wird beispielsweise verwendet, um mehreren Benutzern gleichzeitig Berechtigungen zu erteilen.

Der Trustee, den Sie beim Erstellen des ace Parameters angeben, kann ein einzelner Benutzer, eine Benutzergruppe oder ein Computer sein. Wenn es sich bei dem Trustee um eine Einzelperson handelt, verwenden Sie das Format DOMAIN\user. Sie können "." angeben, damit der Trustee den lokalen Computer angibt.

Die Berechtigungen, die Sie über SetPermissions der vorhandenen Liste zuweisen. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über vollzugriff, und die Domänengruppe "Jeder" verfügt über die Berechtigung zum Abrufen von Warteschlangeneigenschaften, zum Abrufen von Berechtigungen und zum Schreiben in die Warteschlange. Wenn Sie SetPermissionsaufrufen, werden die Benutzer- und Berechtigungsinformationen am Ende der vorhandenen Liste angefügt.

Das System untersucht jede AccessControlEntry nacheinander, bis eines der folgenden Ereignisse auftritt:

  • Ein zugriff verweigerter AccessControlEntry verweigert explizit eines der angeforderten Zugriffsrechte für einen der im Zugriffstoken des Threads aufgeführten Trustees.

  • Mindestens ein zugriffsgeschützter AccessControlEntry Elemente für Trustees, die im Zugriffstoken des Threads aufgeführt sind, gewähren explizit alle angeforderten Zugriffsrechte.

  • Alle AccessControlEntry Elemente wurden überprüft, und es gibt immer noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zugelassen wurde, in diesem Fall wird der Zugriff implizit verweigert.

Wenn Sie den dacl-Parameter erstellen, fügen Sie ihrer AccessControlList-Auflistung AccessControlEntry Instanzen hinzu. Wenn Sie jeden Zugriffssteuerungseintrag erstellen, können Sie generische oder Standardzugriffsrechte angeben. Die Rechte für eine Warteschlange können eine beliebige Kombination aus folgendem Sein:

  • Löschen

  • Lesen der Sicherheit

  • Schreibsicherheit

  • Synchronisieren

  • Besitzer ändern

  • Lesen

  • Schreiben

  • Ausführen

  • Erforderlich

  • Alle

  • Nichts

Diese Rechte sind eine Reihe von Bitkennzeichnungen, die Sie mit dem OR-Bitweise-Operator kombinieren können.

  • Vollzugriff

  • Nachricht löschen

  • Nachricht empfangen

  • Vorschaunachricht

  • Journalnachricht empfangen

  • Warteschlangeneigenschaften abrufen

  • Festlegen von Warteschlangeneigenschaften

  • Berechtigungen abrufen

  • Berechtigungen festlegen

  • Warteschlangenbesitz übernehmen

  • Nachricht schreiben

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokaler Computer Ja
Name des lokalen Computers und des direkten Formats Ja
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Nein

Weitere Informationen

Gilt für:

SetPermissions(MessageQueueAccessControlEntry)

Weist der Warteschlange Zugriffsrechte basierend auf dem Inhalt eines Zugriffssteuerungseintrags zu.

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)

Parameter

ace
MessageQueueAccessControlEntry

Eine MessageQueueAccessControlEntry, die einen Benutzer, einen Zugriffstyp und einen Berechtigungstyp angibt.

Ausnahmen

Fehler beim Zugriff auf eine Message Queuing-Methode.

Beispiele

Im folgenden Codebeispiel wird die Verwendung von SetPermissions(MessageQueueAccessControlEntry)veranschaulicht.


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

Hinweise

Verwenden Sie diese Überladung, um Rechte zu gewähren, zu verweigern oder zu widerrufen, indem Sie einen Zugriffssteuerungseintrag verwenden, um Vertrauensstellungs- und Rechteinformationen anzugeben.

Der Trustee, den Sie beim Erstellen des ace Parameters angeben, kann ein einzelner Benutzer, eine Benutzergruppe oder ein Computer sein. Wenn es sich bei dem Trustee um eine Einzelperson handelt, verwenden Sie das Format DOMAIN\user. Sie können "." angeben, damit der Trustee den lokalen Computer angibt.

Die Berechtigungen, die Sie über SetPermissions der vorhandenen Liste zuweisen. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über vollzugriff, und die Domänengruppe "Jeder" verfügt über die Berechtigung zum Abrufen von Warteschlangeneigenschaften, zum Abrufen von Berechtigungen und zum Schreiben in die Warteschlange. Wenn Sie SetPermissionsaufrufen, werden die Benutzer- und Berechtigungsinformationen am Ende der vorhandenen Liste angefügt.

Das System untersucht jede AccessControlEntry nacheinander, bis eines der folgenden Ereignisse auftritt:

  • Ein zugriff verweigerter AccessControlEntry verweigert explizit eines der angeforderten Zugriffsrechte für einen der im Zugriffstoken des Threads aufgeführten Trustees.

  • Mindestens ein zugriffsgeschützter AccessControlEntry Elemente für Trustees, die im Zugriffstoken des Threads aufgeführt sind, gewähren explizit alle angeforderten Zugriffsrechte.

  • Alle AccessControlEntry Elemente wurden überprüft, und es gibt immer noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zugelassen wurde, in diesem Fall wird der Zugriff implizit verweigert.

Die Rechte für eine Warteschlange, die Sie beim Erstellen ihrer MessageQueueAccessControlEntryim rights-Parameter angeben, kann eine beliebige Kombination der folgenden Sein:

  • Vollzugriff

  • Nachricht löschen

  • Nachricht empfangen

  • Vorschaunachricht

  • Journalnachricht empfangen

  • Warteschlangeneigenschaften abrufen

  • Festlegen von Warteschlangeneigenschaften

  • Berechtigungen abrufen

  • Berechtigungen festlegen

  • Warteschlangenbesitz übernehmen

  • Nachricht schreiben

Der rights Parameter, den Sie im Konstruktor für den ace-Parameter angeben, ist ein Flag der MessageQueueAccessRights Enumeration. Sie stellt eine Reihe von Bitkennzeichnungen dar, die Sie mit dem bitweisen Operator ODER kombinieren können, wenn Sie den rights-Parameter erstellen.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokaler Computer Ja
Name des lokalen Computers und des direkten Formats Ja
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Nein

Weitere Informationen

Gilt für:

SetPermissions(String, MessageQueueAccessRights)

Gewährt einem Computer, einer Gruppe oder einem Benutzer die angegebenen Zugriffsrechte.

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)

Parameter

user
String

Die Einzelnen, Gruppen oder Computer, die zusätzliche Rechte für die Warteschlange erhalten.

rights
MessageQueueAccessRights

Ein MessageQueueAccessRights, der den Satz von Rechten für die Warteschlange angibt, die Message Queuing dem user übergeben hat.

Ausnahmen

Die user ist null.

Fehler beim Zugriff auf eine Message Queuing-Methode.

Beispiele

Im folgenden Codebeispiel wird die Verwendung von SetPermissions(String, MessageQueueAccessRights)veranschaulicht.


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

Hinweise

Verwenden Sie diese Überladung, um einem einzelnen Benutzer bestimmte Rechte zu gewähren. Der Benutzer kann ein beliebiger gültiger Truste sein, der einzelne Benutzer, Benutzergruppen oder einen Computer umfasst. Wenn der Benutzer eine Einzelperson ist, verwenden Sie das Format DOMAIN\user für den parameter user. Sie können "." für den parameter user angeben, um den lokalen Computer anzugeben.

Die Berechtigungen, die Sie über SetPermissions der vorhandenen Liste zuweisen. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über vollzugriff, und die Domänengruppe "Jeder" verfügt über die Berechtigung zum Abrufen von Warteschlangeneigenschaften, zum Abrufen von Berechtigungen und zum Schreiben in die Warteschlange. Wenn Sie SetPermissionsaufrufen, werden die Benutzer- und Berechtigungsinformationen am Ende der vorhandenen Liste angefügt.

Das System untersucht jede AccessControlEntry nacheinander, bis eines der folgenden Ereignisse auftritt:

  • Ein zugriff verweigerter AccessControlEntry verweigert explizit eines der angeforderten Zugriffsrechte für einen der im Zugriffstoken des Threads aufgeführten Trustees.

  • Mindestens ein zugriffsgeschützter AccessControlEntry Elemente für Trustees, die im Zugriffstoken des Threads aufgeführt sind, gewähren explizit alle angeforderten Zugriffsrechte.

  • Alle AccessControlEntry Elemente wurden überprüft, und es gibt immer noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zugelassen wurde, in diesem Fall wird der Zugriff implizit verweigert.

Die Rechte für eine Warteschlange, die im parameter rights angegeben ist, kann eine beliebige Kombination aus folgendem Sein:

  • Vollzugriff

  • Nachricht löschen

  • Nachricht empfangen

  • Vorschaunachricht

  • Journalnachricht empfangen

  • Warteschlangeneigenschaften abrufen

  • Festlegen von Warteschlangeneigenschaften

  • Berechtigungen abrufen

  • Berechtigungen festlegen

  • Warteschlangenbesitz übernehmen

  • Nachricht schreiben

Die MessageQueueAccessRights-Aufzählung stellt eine Reihe von Bitkennzeichnungen dar, die Sie mit dem bitweisen Operator OR kombinieren können, um den rights Parameter zu erstellen.

Mit dieser Überladung können Sie nur Berechtigungen erteilen; Sie können sie nicht widerrufen oder verweigern. Sie müssen eine andere Überladung verwenden, um alle anderen AccessControlEntryType als Allowexplizit zu gewähren.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokaler Computer Ja
Name des lokalen Computers und des direkten Formats Ja
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Nein

Weitere Informationen

Gilt für:

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Gewährt einem Computer, einer Gruppe oder einem Benutzer die angegebenen Zugriffsrechte mit dem angegebenen Zugriffssteuerungstyp (Zulassen, Verweigern, Widerrufen oder Festlegen).

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)

Parameter

user
String

Die Einzelnen, Gruppen oder Computer, die zusätzliche Rechte für die Warteschlange erhalten.

rights
MessageQueueAccessRights

Ein MessageQueueAccessRights, der den Satz von Rechten für die Warteschlange angibt, die Message Queuing dem user übergeben hat.

entryType
AccessControlEntryType

Ein AccessControlEntryType, der angibt, ob die durch den parameter rights angegebenen Berechtigungen gewährt, verweigert oder widerrufen werden sollen.

Ausnahmen

Fehler beim Zugriff auf eine Message Queuing-Methode.

Beispiele

Im folgenden Codebeispiel wird die Verwendung von SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)veranschaulicht.


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

Hinweise

Verwenden Sie diese Überladung, um bestimmte Rechte für einen einzelnen Benutzer zu gewähren, zu verweigern oder zu widerrufen. Der Benutzer kann ein beliebiger gültiger Truste sein, der einzelne Benutzer, Benutzergruppen oder einen Computer umfasst. Wenn der Benutzer eine Einzelperson ist, verwenden Sie das Format DOMAIN\user für den parameter user. Sie können "." für den parameter user angeben, um den lokalen Computer anzugeben.

Die Berechtigungen, die Sie über SetPermissions der vorhandenen Liste zuweisen. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über vollzugriff, und die Domänengruppe "Jeder" verfügt über die Berechtigung zum Abrufen von Warteschlangeneigenschaften, zum Abrufen von Berechtigungen und zum Schreiben in die Warteschlange. Wenn Sie SetPermissionsaufrufen, werden die Benutzer- und Berechtigungsinformationen am Ende der vorhandenen Liste angefügt.

Das System untersucht jede AccessControlEntry nacheinander, bis eines der folgenden Ereignisse auftritt:

  • Ein zugriff verweigerter AccessControlEntry verweigert explizit eines der angeforderten Zugriffsrechte für einen der im Zugriffstoken des Threads aufgeführten Trustees.

  • Mindestens ein zugriffsgeschützter AccessControlEntry Elemente für Trustees, die im Zugriffstoken des Threads aufgeführt sind, gewähren explizit alle angeforderten Zugriffsrechte.

  • Alle AccessControlEntry Elemente wurden überprüft, und es gibt immer noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zugelassen wurde, in diesem Fall wird der Zugriff implizit verweigert.

Die Rechte für eine Warteschlange, die im parameter rights angegeben ist, kann eine beliebige Kombination aus folgendem Sein:

  • Vollzugriff

  • Nachricht löschen

  • Nachricht empfangen

  • Vorschaunachricht

  • Journalnachricht empfangen

  • Warteschlangeneigenschaften abrufen

  • Festlegen von Warteschlangeneigenschaften

  • Berechtigungen abrufen

  • Berechtigungen festlegen

  • Warteschlangenbesitz übernehmen

  • Nachricht schreiben

Die MessageQueueAccessRights-Aufzählung stellt eine Reihe von Bitkennzeichnungen dar, die Sie mit dem bitweisen Operator OR kombinieren können, um den rights Parameter zu erstellen.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokaler Computer Ja
Name des lokalen Computers und des direkten Formats Ja
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Nein

Weitere Informationen

Gilt für: