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

  • DELETE

  • Чтение данных безопасности

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

  • Synchronize

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

  • Чтение

  • Write

  • Execute

  • Обязательно

  • Все

  • Отсутствуют

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

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

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

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

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

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

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

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

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

  • Просмотр сообщения

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

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

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

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

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

  • Владение очередью

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

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

Объект MessageQueueAccessRights, который показывает набор прав на работу с очередью, которые назначаются службой очереди сообщений параметру user.

Исключения

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

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

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

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

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

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

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

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

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

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

  • Просмотр сообщения

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

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

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

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

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

  • Владение очередью

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

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

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

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

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

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

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

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 представляет набор битовых флагов, которые можно объединить с помощью побитового оператора ИЛИ для построения rights параметра .

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

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

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

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