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

Объект, 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 добавления прав в существующий список. По умолчанию создатель общедоступной или частной очереди имеет полный контроль, и группа доменов имеет разрешение на получение свойств очереди, получение разрешений и запись в очередь. При вызове SetPermissionsсведения о пользователе и разрешениях добавляются в нижней части существующего списка.

Система проверяет каждую AccessControlEntry последовательность до тех пор, пока не произойдет одно из следующих событий:

  • Отказ в доступе AccessControlEntry явно запрещает любой из запрошенных прав доступа одному из доверенных лиц, перечисленных в маркере доступа потока.

  • Один или несколько элементов, разрешенных AccessControlEntry для доступа для доверенных лиц, перечисленных в маркере доступа потока, явно предоставляют все запрошенные права доступа.

  • Все AccessControlEntry элементы были проверены и по-прежнему существует хотя бы одно запрошенное право доступа, которое не было явно разрешено, в этом случае доступ неявно запрещен.

При создании параметра в коллекцию dacl добавляются AccessControlEntry экземпляры AccessControlList . При создании каждой записи управления доступом можно указать универсальные или стандартные права доступа. Права на очередь могут быть любой комбинацией следующих вариантов:

  • Удаление

  • Безопасность чтения

  • Безопасность записи

  • Synchronize

  • Изменение владельца

  • Чтение

  • Напишите

  • выполнить

  • Обязательный

  • Все

  • None

Эти права представляют собой набор битовых флагов, которые можно объединить с помощью побитового оператора OR.

  • Полный доступ

  • Удалить сообщение

  • Получение сообщения

  • Показать сообщение

  • Получение сообщения журнала

  • Получение свойств очереди

  • Задание свойств очереди

  • Получение разрешений

  • Настройка разрешений

  • Получение владения очередью

  • Запись сообщения

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.

Режим рабочей группы В наличии
Локальный компьютер Yes
Имя локального компьютера и прямого формата Yes
Удаленный компьютер Нет
Имя удаленного компьютера и прямого формата Нет

См. также раздел

Применяется к

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 добавления прав в существующий список. По умолчанию создатель общедоступной или частной очереди имеет полный контроль, и группа доменов имеет разрешение на получение свойств очереди, получение разрешений и запись в очередь. При вызове SetPermissionsсведения о пользователе и разрешениях добавляются в нижней части существующего списка.

Система проверяет каждую AccessControlEntry последовательность до тех пор, пока не произойдет одно из следующих событий:

  • Отказ в доступе AccessControlEntry явно запрещает любой из запрошенных прав доступа одному из доверенных лиц, перечисленных в маркере доступа потока.

  • Один или несколько элементов, разрешенных AccessControlEntry для доступа для доверенных лиц, перечисленных в маркере доступа потока, явно предоставляют все запрошенные права доступа.

  • Все AccessControlEntry элементы были проверены и по-прежнему существует хотя бы одно запрошенное право доступа, которое не было явно разрешено, в этом случае доступ неявно запрещен.

Права на очередь, указанную в параметре rights при построении, MessageQueueAccessControlEntryмогут быть любым сочетанием следующих значений:

  • Полный доступ

  • Удалить сообщение

  • Получение сообщения

  • Показать сообщение

  • Получение сообщения журнала

  • Получение свойств очереди

  • Задание свойств очереди

  • Получение разрешений

  • Настройка разрешений

  • Получение владения очередью

  • Запись сообщения

Параметр rights , указанный в конструкторе для ace параметра, является флагом перечисления MessageQueueAccessRights . Он представляет набор битовых флагов, которые можно объединить с помощью битового оператора OR при сборке rights параметра.

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.

Режим рабочей группы В наличии
Локальный компьютер Yes
Имя локального компьютера и прямого формата Yes
Удаленный компьютер Нет
Имя удаленного компьютера и прямого формата Нет

См. также раздел

Применяется к

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

Значение, MessageQueueAccessRights указывающее набор прав на очередь, которую очередь сообщений назначает переданной user .

Исключения

Значение user равно null.

Произошла ошибка при доступе к методу очереди сообщений.

Примеры

В следующем примере кода показано использование 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\user для user параметра. Для параметра можно указать "." для user указания локального компьютера.

Разрешения, назначенные с помощью SetPermissions добавления прав в существующий список. По умолчанию создатель общедоступной или частной очереди имеет полный контроль, и группа доменов имеет разрешение на получение свойств очереди, получение разрешений и запись в очередь. При вызове SetPermissionsсведения о пользователе и разрешениях добавляются в нижней части существующего списка.

Система проверяет каждую AccessControlEntry последовательность до тех пор, пока не произойдет одно из следующих событий:

  • Отказ в доступе AccessControlEntry явно запрещает любой из запрошенных прав доступа одному из доверенных лиц, перечисленных в маркере доступа потока.

  • Один или несколько элементов, разрешенных AccessControlEntry для доступа для доверенных лиц, перечисленных в маркере доступа потока, явно предоставляют все запрошенные права доступа.

  • Все AccessControlEntry элементы были проверены и по-прежнему существует хотя бы одно запрошенное право доступа, которое не было явно разрешено, в этом случае доступ неявно запрещен.

Права на очередь, указанную в параметре rights , могут иметь любое сочетание следующих значений:

  • Полный доступ

  • Удалить сообщение

  • Получение сообщения

  • Показать сообщение

  • Получение сообщения журнала

  • Получение свойств очереди

  • Задание свойств очереди

  • Получение разрешений

  • Настройка разрешений

  • Получение владения очередью

  • Запись сообщения

Перечисление MessageQueueAccessRights представляет набор битовых флагов, которые можно объединить с помощью побитового оператора OR для сборки rights параметра.

С помощью этой перегрузки можно предоставить только разрешения; вы не можете отменить или запретить их. Необходимо использовать другую перегрузку для явного предоставления любого AccessControlEntryType другого, кроме Allow.

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.

Режим рабочей группы В наличии
Локальный компьютер Yes
Имя локального компьютера и прямого формата Yes
Удаленный компьютер Нет
Имя удаленного компьютера и прямого формата Нет

См. также раздел

Применяется к

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

Значение, MessageQueueAccessRights указывающее набор прав на очередь, которую очередь сообщений назначает переданной user .

entryType
AccessControlEntryType

Значение, AccessControlEntryType указывающее, следует ли предоставлять, запрещать или отзывать разрешения, указанные параметром rights .

Исключения

Произошла ошибка при доступе к методу очереди сообщений.

Примеры

В следующем примере кода показано использование 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\user для user параметра. Для параметра можно указать "." для user указания локального компьютера.

Разрешения, назначенные с помощью SetPermissions добавления прав в существующий список. По умолчанию создатель общедоступной или частной очереди имеет полный контроль, и группа доменов имеет разрешение на получение свойств очереди, получение разрешений и запись в очередь. При вызове SetPermissionsсведения о пользователе и разрешениях добавляются в нижней части существующего списка.

Система проверяет каждую AccessControlEntry последовательность до тех пор, пока не произойдет одно из следующих событий:

  • Отказ в доступе AccessControlEntry явно запрещает любой из запрошенных прав доступа одному из доверенных лиц, перечисленных в маркере доступа потока.

  • Один или несколько элементов, разрешенных AccessControlEntry для доступа для доверенных лиц, перечисленных в маркере доступа потока, явно предоставляют все запрошенные права доступа.

  • Все AccessControlEntry элементы были проверены и по-прежнему существует хотя бы одно запрошенное право доступа, которое не было явно разрешено, в этом случае доступ неявно запрещен.

Права на очередь, указанную в параметре rights , могут иметь любое сочетание следующих значений:

  • Полный доступ

  • Удалить сообщение

  • Получение сообщения

  • Показать сообщение

  • Получение сообщения журнала

  • Получение свойств очереди

  • Задание свойств очереди

  • Получение разрешений

  • Настройка разрешений

  • Получение владения очередью

  • Запись сообщения

Перечисление MessageQueueAccessRights представляет набор битовых флагов, которые можно объединить с помощью побитового оператора OR для сборки rights параметра.

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.

Режим рабочей группы В наличии
Локальный компьютер Yes
Имя локального компьютера и прямого формата Yes
Удаленный компьютер Нет
Имя удаленного компьютера и прямого формата Нет

См. также раздел

Применяется к