Condividi tramite


MessageQueue.SetPermissions Metodo

Definizione

Aggiunge le autorizzazioni al set corrente. In questo modo si controlla chi ha diritti di accesso alle proprietà e ai messaggi della coda.

Overload

SetPermissions(AccessControlList)

Assegna i diritti di accesso alla coda in base al contenuto di un elenco di controllo di accesso.

SetPermissions(MessageQueueAccessControlEntry)

Assegna i diritti di accesso alla coda in base al contenuto di una voce di controllo di accesso.

SetPermissions(String, MessageQueueAccessRights)

Concede a un computer, a un gruppo o a un utente i diritti di accesso specificati.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Assegna a un computer, a un gruppo o a un utente i diritti di accesso specificati, con il tipo di controllo di accesso specificato (consenti, nega, revoca o imposta).

SetPermissions(AccessControlList)

Assegna i diritti di accesso alla coda in base al contenuto di un elenco di controllo di accesso.

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)

Parametri

dacl
AccessControlList

Un AccessControlList che contiene una o più voci di controllo di accesso che specificano i trustee e le autorizzazioni da concedere.

Eccezioni

Si è verificato un errore durante l'accesso a un metodo di accodamento messaggi.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di 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);

Commenti

Utilizzare questo overload per concedere, negare o revocare i diritti usando una raccolta di voci di controllo di accesso per specificare le informazioni sul trustee e sulle autorizzazioni. Viene usato, ad esempio, per concedere autorizzazioni a più utenti contemporaneamente.

Il trustee specificato quando si costruisce il parametro ace può essere un singolo utente, un gruppo di utenti o un computer. Se il trustee è un individuo, usare il formato DOMAIN\user. È possibile specificare "." per il trustee per indicare il computer locale.

Le autorizzazioni assegnate tramite SetPermissions aggiungere diritti all'elenco esistente. Per impostazione predefinita, l'autore di una coda pubblica o privata ha il controllo completo e il gruppo di dominio Everyone ha l'autorizzazione per ottenere le proprietà della coda, ottenere le autorizzazioni e scrivere nella coda. Quando si chiama SetPermissions, le informazioni sull'utente e sulle autorizzazioni vengono aggiunte alla fine dell'elenco esistente.

Il sistema esamina ogni AccessControlEntry in sequenza fino a quando non si verifica uno degli eventi seguenti:

  • Un accesso negato AccessControlEntry nega esplicitamente uno dei diritti di accesso richiesti a uno dei trustee elencati nel token di accesso del thread.

  • Uno o più elementi di accesso consentiti AccessControlEntry per i trustee elencati nel token di accesso del thread concedono in modo esplicito tutti i diritti di accesso richiesti.

  • Tutti gli elementi AccessControlEntry sono stati controllati ed è ancora presente almeno un diritto di accesso richiesto che non è stato consentito in modo esplicito, nel qual caso l'accesso viene negato in modo implicito.

Quando si costruisce il parametro dacl, si aggiungono istanze di AccessControlEntry alla raccolta AccessControlList. Quando si costruisce ogni voce di controllo di accesso, è possibile specificare diritti di accesso generici o standard. I diritti per una coda possono essere una qualsiasi combinazione di quanto segue:

  • Cancellare

  • Lettura della sicurezza

  • Sicurezza scrittura

  • Sincronizzare

  • Modifica proprietario

  • Leggere

  • Scrivere

  • Eseguire

  • Obbligatorio

  • Tutto

  • Nessuno

Questi diritti sono un set di flag di bit che è possibile combinare usando l'operatore OR bit per bit.

  • Controllo completo

  • Elimina messaggio

  • Ricevi messaggio

  • Visualizza messaggio

  • Ricevi messaggio journal

  • Ottenere le proprietà della coda

  • Impostare le proprietà della coda

  • Ottenere le autorizzazioni

  • Impostare le autorizzazioni

  • Acquisire la proprietà della coda

  • Scrivi messaggio

Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.

Modalità gruppo di lavoro Disponibile
Computer locale
Computer locale e nome del formato diretto
Computer remoto No
Computer remoto e nome del formato diretto No

Vedi anche

Si applica a

SetPermissions(MessageQueueAccessControlEntry)

Assegna i diritti di accesso alla coda in base al contenuto di una voce di controllo di accesso.

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)

Parametri

ace
MessageQueueAccessControlEntry

Oggetto MessageQueueAccessControlEntry che specifica un utente, un tipo di accesso e un tipo di autorizzazione.

Eccezioni

Si è verificato un errore durante l'accesso a un metodo di accodamento messaggi.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di 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);

Commenti

Utilizzare questo overload per concedere, negare o revocare i diritti usando una voce di controllo di accesso per specificare le informazioni sui diritti e sul trustee.

Il trustee specificato quando si costruisce il parametro ace può essere un singolo utente, un gruppo di utenti o un computer. Se il trustee è un individuo, usare il formato DOMAIN\user. È possibile specificare "." per il trustee per indicare il computer locale.

Le autorizzazioni assegnate tramite SetPermissions aggiungere diritti all'elenco esistente. Per impostazione predefinita, l'autore di una coda pubblica o privata ha il controllo completo e il gruppo di dominio Everyone ha l'autorizzazione per ottenere le proprietà della coda, ottenere le autorizzazioni e scrivere nella coda. Quando si chiama SetPermissions, le informazioni sull'utente e sulle autorizzazioni vengono aggiunte alla fine dell'elenco esistente.

Il sistema esamina ogni AccessControlEntry in sequenza fino a quando non si verifica uno degli eventi seguenti:

  • Un accesso negato AccessControlEntry nega esplicitamente uno dei diritti di accesso richiesti a uno dei trustee elencati nel token di accesso del thread.

  • Uno o più elementi di accesso consentiti AccessControlEntry per i trustee elencati nel token di accesso del thread concedono in modo esplicito tutti i diritti di accesso richiesti.

  • Tutti gli elementi AccessControlEntry sono stati controllati ed è ancora presente almeno un diritto di accesso richiesto che non è stato consentito in modo esplicito, nel qual caso l'accesso viene negato in modo implicito.

I diritti per una coda, specificata nel parametro rights quando si costruisce il MessageQueueAccessControlEntry, possono essere una qualsiasi combinazione dei seguenti elementi:

  • Controllo completo

  • Elimina messaggio

  • Ricevi messaggio

  • Visualizza messaggio

  • Ricevi messaggio journal

  • Ottenere le proprietà della coda

  • Impostare le proprietà della coda

  • Ottenere le autorizzazioni

  • Impostare le autorizzazioni

  • Acquisire la proprietà della coda

  • Scrivi messaggio

Il parametro rights specificato nel costruttore per il parametro ace è un flag dell'enumerazione MessageQueueAccessRights. Rappresenta un set di flag di bit che è possibile combinare usando l'operatore bit per bit OR quando si compila il parametro rights.

Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.

Modalità gruppo di lavoro Disponibile
Computer locale
Computer locale e nome del formato diretto
Computer remoto No
Computer remoto e nome del formato diretto No

Vedi anche

Si applica a

SetPermissions(String, MessageQueueAccessRights)

Concede a un computer, a un gruppo o a un utente i diritti di accesso specificati.

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)

Parametri

user
String

Singolo, gruppo o computer che ottiene diritti aggiuntivi per la coda.

rights
MessageQueueAccessRights

MessageQueueAccessRights che indica il set di diritti per la coda assegnata da Accodamento messaggi all'user passato.

Eccezioni

Il user è null.

Si è verificato un errore durante l'accesso a un metodo di accodamento messaggi.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di 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);

Commenti

Usare questo overload per concedere diritti specificati a un singolo utente. L'utente può essere qualsiasi trustee valido, che include singoli utenti, gruppi di utenti o un computer. Se l'utente è un individuo, usare il formato DOMAIN\user per il parametro user. È possibile specificare "." per il parametro user per indicare il computer locale.

Le autorizzazioni assegnate tramite SetPermissions aggiungere diritti all'elenco esistente. Per impostazione predefinita, l'autore di una coda pubblica o privata ha il controllo completo e il gruppo di dominio Everyone ha l'autorizzazione per ottenere le proprietà della coda, ottenere le autorizzazioni e scrivere nella coda. Quando si chiama SetPermissions, le informazioni sull'utente e sulle autorizzazioni vengono aggiunte alla fine dell'elenco esistente.

Il sistema esamina ogni AccessControlEntry in sequenza fino a quando non si verifica uno degli eventi seguenti:

  • Un accesso negato AccessControlEntry nega esplicitamente uno dei diritti di accesso richiesti a uno dei trustee elencati nel token di accesso del thread.

  • Uno o più elementi di accesso consentiti AccessControlEntry per i trustee elencati nel token di accesso del thread concedono in modo esplicito tutti i diritti di accesso richiesti.

  • Tutti gli elementi AccessControlEntry sono stati controllati ed è ancora presente almeno un diritto di accesso richiesto che non è stato consentito in modo esplicito, nel qual caso l'accesso viene negato in modo implicito.

I diritti per una coda, specificata nel parametro rights, possono essere qualsiasi combinazione dei seguenti elementi:

  • Controllo completo

  • Elimina messaggio

  • Ricevi messaggio

  • Visualizza messaggio

  • Ricevi messaggio journal

  • Ottenere le proprietà della coda

  • Impostare le proprietà della coda

  • Ottenere le autorizzazioni

  • Impostare le autorizzazioni

  • Acquisire la proprietà della coda

  • Scrivi messaggio

L'enumerazione MessageQueueAccessRights rappresenta un set di flag di bit che è possibile combinare usando l'operatore bit per bit OR per compilare il parametro rights.

Con questo overload, è possibile concedere solo le autorizzazioni; non è possibile revocarli o negarli. È necessario usare un overload diverso per concedere in modo esplicito qualsiasi AccessControlEntryType diverso da Allow.

Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.

Modalità gruppo di lavoro Disponibile
Computer locale
Computer locale e nome del formato diretto
Computer remoto No
Computer remoto e nome del formato diretto No

Vedi anche

Si applica a

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Assegna a un computer, a un gruppo o a un utente i diritti di accesso specificati, con il tipo di controllo di accesso specificato (consenti, nega, revoca o imposta).

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)

Parametri

user
String

Singolo, gruppo o computer che ottiene diritti aggiuntivi per la coda.

rights
MessageQueueAccessRights

MessageQueueAccessRights che indica il set di diritti per la coda assegnata da Accodamento messaggi all'user passato.

entryType
AccessControlEntryType

AccessControlEntryType che specifica se concedere, negare o revocare le autorizzazioni specificate dal parametro rights.

Eccezioni

Si è verificato un errore durante l'accesso a un metodo di accodamento messaggi.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di 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);

Commenti

Usare questo overload per concedere, negare o revocare i diritti specificati per un singolo utente. L'utente può essere qualsiasi trustee valido, che include singoli utenti, gruppi di utenti o un computer. Se l'utente è un individuo, usare il formato DOMAIN\user per il parametro user. È possibile specificare "." per il parametro user per indicare il computer locale.

Le autorizzazioni assegnate tramite SetPermissions aggiungere diritti all'elenco esistente. Per impostazione predefinita, l'autore di una coda pubblica o privata ha il controllo completo e il gruppo di dominio Everyone ha l'autorizzazione per ottenere le proprietà della coda, ottenere le autorizzazioni e scrivere nella coda. Quando si chiama SetPermissions, le informazioni sull'utente e sulle autorizzazioni vengono aggiunte alla fine dell'elenco esistente.

Il sistema esamina ogni AccessControlEntry in sequenza fino a quando non si verifica uno degli eventi seguenti:

  • Un accesso negato AccessControlEntry nega esplicitamente uno dei diritti di accesso richiesti a uno dei trustee elencati nel token di accesso del thread.

  • Uno o più elementi di accesso consentiti AccessControlEntry per i trustee elencati nel token di accesso del thread concedono in modo esplicito tutti i diritti di accesso richiesti.

  • Tutti gli elementi AccessControlEntry sono stati controllati ed è ancora presente almeno un diritto di accesso richiesto che non è stato consentito in modo esplicito, nel qual caso l'accesso viene negato in modo implicito.

I diritti per una coda, specificata nel parametro rights, possono essere qualsiasi combinazione dei seguenti elementi:

  • Controllo completo

  • Elimina messaggio

  • Ricevi messaggio

  • Visualizza messaggio

  • Ricevi messaggio journal

  • Ottenere le proprietà della coda

  • Impostare le proprietà della coda

  • Ottenere le autorizzazioni

  • Impostare le autorizzazioni

  • Acquisire la proprietà della coda

  • Scrivi messaggio

L'enumerazione MessageQueueAccessRights rappresenta un set di flag di bit che è possibile combinare usando l'operatore bit per bit OR per compilare il parametro rights.

Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.

Modalità gruppo di lavoro Disponibile
Computer locale
Computer locale e nome del formato diretto
Computer remoto No
Computer remoto e nome del formato diretto No

Vedi anche

Si applica a