Partilhar via


MessageQueue.SetPermissions Método

Definição

Adiciona permissões ao conjunto atual. Isso controla quem tem direitos de acesso às propriedades e mensagens da fila na fila.

Sobrecargas

SetPermissions(AccessControlList)

Atribui direitos de acesso à fila com base no conteúdo de uma lista de controle de acesso.

SetPermissions(MessageQueueAccessControlEntry)

Atribui direitos de acesso à fila com base no conteúdo de uma entrada de controle de acesso.

SetPermissions(String, MessageQueueAccessRights)

Fornece a um computador, grupo ou usuário os direitos de acesso especificados.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Fornece a um computador, grupo ou usuário os direitos de acesso especificados, com o tipo de controle de acesso especificado (permitir, negar, revogar ou definir).

SetPermissions(AccessControlList)

Atribui direitos de acesso à fila com base no conteúdo de uma lista de controle de acesso.

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)

Parâmetros

dacl
AccessControlList

Um AccessControlList que contém uma ou mais entradas de controle de acesso que especificam os administradores e as permissões a serem concedidas.

Exceções

Ocorreu um erro ao acessar um método de Enfileiramento de Mensagens.

Exemplos

O exemplo de código a seguir demonstra o uso de 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);

Comentários

Use essa sobrecarga para conceder, negar ou revogar direitos usando uma coleção de entradas de controle de acesso para especificar informações de administrador e permissões. Isso é usado, por exemplo, para conceder permissões a vários usuários ao mesmo tempo.

O administrador especificado ao construir o parâmetro ace pode ser um usuário individual, um grupo de usuários ou um computador. Se o administrador for um indivíduo, use o formato DOMAIN\user. Você pode especificar "." para o administrador indicar o computador local.

As permissões que você atribui por meio SetPermissions adicionar direitos à lista existente. Por padrão, o criador de uma fila pública ou privada tem controle total e o grupo de domínio Todos têm permissão para obter propriedades da fila, obter permissões e gravar na fila. Quando você chama SetPermissions, as informações de usuário e permissões são acrescentadas à parte inferior da lista existente.

O sistema examina cada AccessControlEntry em sequência até que um dos seguintes eventos ocorra:

  • Um AccessControlEntry negado pelo acesso nega explicitamente qualquer um dos direitos de acesso solicitados a um dos administradores listados no token de acesso do thread.

  • Um ou mais itens de AccessControlEntry permitidos pelo acesso para os administradores listados no token de acesso do thread concedem explicitamente todos os direitos de acesso solicitados.

  • Todos os AccessControlEntry itens foram verificados e ainda há pelo menos um direito de acesso solicitado que não foi explicitamente permitido, nesse caso, o acesso é negado implicitamente.

Ao construir o parâmetro dacl, adicione AccessControlEntry instâncias à coleção AccessControlList. Ao construir cada entrada de controle de acesso, você pode especificar direitos de acesso genéricos ou padrão. Os direitos de uma fila podem ser qualquer combinação do seguinte:

  • Excluir

  • Ler Segurança

  • Segurança de gravação

  • Sincronizar

  • Modificar Proprietário

  • Ler

  • Escrever

  • Executar

  • Necessário

  • Todo

  • Nenhum

Esses direitos são um conjunto de sinalizadores de bits que você pode combinar usando o operador OR bit a bit.

  • Controle total

  • Excluir Mensagem

  • Receber Mensagem

  • Espiar Mensagem

  • Receber Mensagem de Diário

  • Obter propriedades da fila

  • Definir propriedades da fila

  • Obter permissões

  • Definir permissões

  • Assumir a propriedade da fila

  • Gravar mensagem

A tabela a seguir mostra se esse método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Disponível
Computador local Sim
Nome do computador local e do formato direto Sim
Computador remoto Não
Computador remoto e nome do formato direto Não

Confira também

Aplica-se a

SetPermissions(MessageQueueAccessControlEntry)

Atribui direitos de acesso à fila com base no conteúdo de uma entrada de controle de acesso.

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)

Parâmetros

ace
MessageQueueAccessControlEntry

Um MessageQueueAccessControlEntry que especifica um usuário, um tipo de acesso e um tipo de permissão.

Exceções

Ocorreu um erro ao acessar um método de Enfileiramento de Mensagens.

Exemplos

O exemplo de código a seguir demonstra o uso de 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);

Comentários

Use essa sobrecarga para conceder, negar ou revogar direitos usando uma entrada de controle de acesso para especificar informações de direitos e de administrador.

O administrador especificado ao construir o parâmetro ace pode ser um usuário individual, um grupo de usuários ou um computador. Se o administrador for um indivíduo, use o formato DOMAIN\user. Você pode especificar "." para o administrador indicar o computador local.

As permissões que você atribui por meio SetPermissions adicionar direitos à lista existente. Por padrão, o criador de uma fila pública ou privada tem controle total e o grupo de domínio Todos têm permissão para obter propriedades da fila, obter permissões e gravar na fila. Quando você chama SetPermissions, as informações de usuário e permissões são acrescentadas à parte inferior da lista existente.

O sistema examina cada AccessControlEntry em sequência até que um dos seguintes eventos ocorra:

  • Um AccessControlEntry negado pelo acesso nega explicitamente qualquer um dos direitos de acesso solicitados a um dos administradores listados no token de acesso do thread.

  • Um ou mais itens de AccessControlEntry permitidos pelo acesso para os administradores listados no token de acesso do thread concedem explicitamente todos os direitos de acesso solicitados.

  • Todos os AccessControlEntry itens foram verificados e ainda há pelo menos um direito de acesso solicitado que não foi explicitamente permitido, nesse caso, o acesso é negado implicitamente.

Os direitos de uma fila, que você especifica no parâmetro rights ao construir seu MessageQueueAccessControlEntry, podem ser qualquer combinação do seguinte:

  • Controle total

  • Excluir Mensagem

  • Receber Mensagem

  • Espiar Mensagem

  • Receber Mensagem de Diário

  • Obter propriedades da fila

  • Definir propriedades da fila

  • Obter permissões

  • Definir permissões

  • Assumir a propriedade da fila

  • Gravar mensagem

O parâmetro rights especificado no construtor para o parâmetro ace é um sinalizador da enumeração MessageQueueAccessRights. Ele representa um conjunto de sinalizadores de bits que você pode combinar usando o operador or bit a bit ao criar o parâmetro rights.

A tabela a seguir mostra se esse método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Disponível
Computador local Sim
Nome do computador local e do formato direto Sim
Computador remoto Não
Computador remoto e nome do formato direto Não

Confira também

Aplica-se a

SetPermissions(String, MessageQueueAccessRights)

Fornece a um computador, grupo ou usuário os direitos de acesso especificados.

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)

Parâmetros

user
String

O indivíduo, o grupo ou o computador que obtém direitos adicionais para a fila.

rights
MessageQueueAccessRights

Um MessageQueueAccessRights que indica o conjunto de direitos para a fila que o Enfileiramento de Mensagens atribui ao user passado.

Exceções

O user é null.

Ocorreu um erro ao acessar um método de Enfileiramento de Mensagens.

Exemplos

O exemplo de código a seguir demonstra o uso de 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);

Comentários

Use essa sobrecarga para conceder direitos especificados a um usuário individual. O usuário pode ser qualquer administrador válido, que inclua usuários individuais, grupos de usuários ou um computador. Se o usuário for um indivíduo, use o formato DOMAIN\user para o parâmetro user. Você pode especificar "." para o parâmetro user para indicar o computador local.

As permissões que você atribui por meio SetPermissions adicionar direitos à lista existente. Por padrão, o criador de uma fila pública ou privada tem controle total e o grupo de domínio Todos têm permissão para obter propriedades da fila, obter permissões e gravar na fila. Quando você chama SetPermissions, as informações de usuário e permissões são acrescentadas à parte inferior da lista existente.

O sistema examina cada AccessControlEntry em sequência até que um dos seguintes eventos ocorra:

  • Um AccessControlEntry negado pelo acesso nega explicitamente qualquer um dos direitos de acesso solicitados a um dos administradores listados no token de acesso do thread.

  • Um ou mais itens de AccessControlEntry permitidos pelo acesso para os administradores listados no token de acesso do thread concedem explicitamente todos os direitos de acesso solicitados.

  • Todos os AccessControlEntry itens foram verificados e ainda há pelo menos um direito de acesso solicitado que não foi explicitamente permitido, nesse caso, o acesso é negado implicitamente.

Os direitos de uma fila, especificados no parâmetro rights, podem ser qualquer combinação do seguinte:

  • Controle total

  • Excluir Mensagem

  • Receber Mensagem

  • Espiar Mensagem

  • Receber Mensagem de Diário

  • Obter propriedades da fila

  • Definir propriedades da fila

  • Obter permissões

  • Definir permissões

  • Assumir a propriedade da fila

  • Gravar mensagem

A enumeração MessageQueueAccessRights representa um conjunto de sinalizadores de bits que você pode combinar usando o operador bit a bit OR para criar o parâmetro rights.

Com essa sobrecarga, você só pode conceder permissões; você não pode revogá-los ou negá-los. Você deve usar uma sobrecarga diferente para conceder explicitamente qualquer AccessControlEntryType diferente de Allow.

A tabela a seguir mostra se esse método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Disponível
Computador local Sim
Nome do computador local e do formato direto Sim
Computador remoto Não
Computador remoto e nome do formato direto Não

Confira também

Aplica-se a

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Fornece a um computador, grupo ou usuário os direitos de acesso especificados, com o tipo de controle de acesso especificado (permitir, negar, revogar ou definir).

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)

Parâmetros

user
String

O indivíduo, o grupo ou o computador que obtém direitos adicionais para a fila.

rights
MessageQueueAccessRights

Um MessageQueueAccessRights que indica o conjunto de direitos para a fila que o Enfileiramento de Mensagens atribui ao user passado.

entryType
AccessControlEntryType

Um AccessControlEntryType que especifica se as permissões especificadas pelo parâmetro rights devem ser concedidas, negadas ou revogadas.

Exceções

Ocorreu um erro ao acessar um método de Enfileiramento de Mensagens.

Exemplos

O exemplo de código a seguir demonstra o uso de 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);

Comentários

Use essa sobrecarga para conceder, negar ou revogar direitos especificados para um usuário individual. O usuário pode ser qualquer administrador válido, que inclua usuários individuais, grupos de usuários ou um computador. Se o usuário for um indivíduo, use o formato DOMAIN\user para o parâmetro user. Você pode especificar "." para o parâmetro user para indicar o computador local.

As permissões que você atribui por meio SetPermissions adicionar direitos à lista existente. Por padrão, o criador de uma fila pública ou privada tem controle total e o grupo de domínio Todos têm permissão para obter propriedades da fila, obter permissões e gravar na fila. Quando você chama SetPermissions, as informações de usuário e permissões são acrescentadas à parte inferior da lista existente.

O sistema examina cada AccessControlEntry em sequência até que um dos seguintes eventos ocorra:

  • Um AccessControlEntry negado pelo acesso nega explicitamente qualquer um dos direitos de acesso solicitados a um dos administradores listados no token de acesso do thread.

  • Um ou mais itens de AccessControlEntry permitidos pelo acesso para os administradores listados no token de acesso do thread concedem explicitamente todos os direitos de acesso solicitados.

  • Todos os AccessControlEntry itens foram verificados e ainda há pelo menos um direito de acesso solicitado que não foi explicitamente permitido, nesse caso, o acesso é negado implicitamente.

Os direitos de uma fila, especificados no parâmetro rights, podem ser qualquer combinação do seguinte:

  • Controle total

  • Excluir Mensagem

  • Receber Mensagem

  • Espiar Mensagem

  • Receber Mensagem de Diário

  • Obter propriedades da fila

  • Definir propriedades da fila

  • Obter permissões

  • Definir permissões

  • Assumir a propriedade da fila

  • Gravar mensagem

A enumeração MessageQueueAccessRights representa um conjunto de sinalizadores de bits que você pode combinar usando o operador bit a bit OR para criar o parâmetro rights.

A tabela a seguir mostra se esse método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Disponível
Computador local Sim
Nome do computador local e do formato direto Sim
Computador remoto Não
Computador remoto e nome do formato direto Não

Confira também

Aplica-se a