MessageQueue.SetPermissions Metoda

Definicja

Dodaje uprawnienia do bieżącego zestawu. To kontroluje, kto ma prawa dostępu do właściwości kolejki i komunikatów w kolejce.

Przeciążenia

SetPermissions(AccessControlList)

Przypisuje prawa dostępu do kolejki na podstawie zawartości listy kontroli dostępu.

SetPermissions(MessageQueueAccessControlEntry)

Przypisuje prawa dostępu do kolejki na podstawie zawartości wpisu kontroli dostępu.

SetPermissions(String, MessageQueueAccessRights)

Daje komputer, grupę lub użytkownika określone prawa dostępu.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Nadaje komputerowi, grupie lub użytkownikowi określone prawa dostępu z określonym typem kontroli dostępu (zezwalaj, odmawiaj, odwoływanie lub ustawianie).

SetPermissions(AccessControlList)

Przypisuje prawa dostępu do kolejki na podstawie zawartości listy kontroli dostępu.

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)

Parametry

dacl
AccessControlList

Element AccessControlList zawierający co najmniej jeden wpis kontroli dostępu określający zaufania i uprawnienia do udzielenia.

Wyjątki

Wystąpił błąd podczas uzyskiwania dostępu do metody kolejkowania komunikatów.

Przykłady

W poniższym przykładzie kodu pokazano użycie metody 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);

Uwagi

To przeciążenie służy do udzielania, odmowy lub odwoływanie praw przy użyciu kolekcji wpisów kontroli dostępu w celu określenia informacji o zaufaniu i uprawnieniach. Służy to na przykład do udzielania uprawnień wielu użytkownikom w tym samym czasie.

Powiernik określony podczas konstruowania parametru ace może być indywidualnym użytkownikiem, grupą użytkowników lub komputerem. Jeśli powiernik jest osobą indywidualną, użyj formatu DOMAIN\user. Można określić znak "." dla zaufania, aby wskazać komputer lokalny.

Uprawnienia przypisywane za pomocą SetPermissions praw do istniejącej listy. Domyślnie twórca kolejki publicznej lub prywatnej ma pełną kontrolę, a grupa domeny Wszyscy mają uprawnienia do pobierania właściwości kolejki, uzyskiwania uprawnień i zapisywania w kolejce. Po wywołaniu metody SetPermissionsinformacje o użytkowniku i uprawnieniach są dołączane do dołu istniejącej listy.

System sprawdza każdą AccessControlEntry sekwencję do momentu wystąpienia jednego z następujących zdarzeń:

  • Odmowa dostępu AccessControlEntry jawnie odrzuca dowolne z żądanych praw dostępu do jednego z powierniczych wymienionych w tokenie dostępu wątku.

  • Co najmniej jeden element dozwolony dostęp AccessControlEntry dla zaufanych osób wymienionych w tokenie dostępu wątku jawnie przyznaj wszystkie żądane prawa dostępu.

  • Wszystkie AccessControlEntry elementy zostały sprawdzone i nadal istnieje co najmniej jedno żądane prawo dostępu, które nie zostało jawnie dozwolone, w takim przypadku dostęp jest niejawnie blokowany.

Podczas konstruowania parametru dacl dodajesz AccessControlEntry wystąpienia do AccessControlList kolekcji. Podczas konstruowania każdego wpisu kontroli dostępu można określić ogólne lub standardowe prawa dostępu. Prawa do kolejki mogą być dowolną kombinacją następujących elementów:

  • Usuń

  • Odczyt zabezpieczeń

  • Zapisywanie zabezpieczeń

  • Synchronizowanie

  • Modyfikowanie właściciela

  • Odczyt

  • Zapisywanie

  • Wykonaj polecenie

  • Wymagane

  • Wszystko

  • Brak

Te prawa są zestawem flag bitowych, które można połączyć za pomocą operatora OR bitowego.

  • Pełna kontrola

  • Usuń wiadomość

  • Odbieranie komunikatu

  • Zobacz wiadomość

  • Odbieranie komunikatu dziennika

  • Pobieranie właściwości kolejki

  • Ustawianie właściwości kolejki

  • Uzyskiwanie uprawnień

  • Ustawianie uprawnień

  • Przejęcie własności kolejki

  • Napisz wiadomość

W poniższej tabeli przedstawiono, czy ta metoda jest dostępna w różnych trybach grupy roboczej.

Tryb grupy roboczej Dostępne
Komputer lokalny Tak
Nazwa komputera lokalnego i bezpośredniego formatu Tak
Komputer zdalny Nie
Nazwa komputera zdalnego i bezpośredniego formatu Nie

Zobacz też

Dotyczy

SetPermissions(MessageQueueAccessControlEntry)

Przypisuje prawa dostępu do kolejki na podstawie zawartości wpisu kontroli dostępu.

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)

Parametry

ace
MessageQueueAccessControlEntry

Element MessageQueueAccessControlEntry określający użytkownika, typ dostępu i typ uprawnień.

Wyjątki

Wystąpił błąd podczas uzyskiwania dostępu do metody kolejkowania komunikatów.

Przykłady

W poniższym przykładzie kodu pokazano użycie metody 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);

Uwagi

To przeciążenie służy do udzielania, odmawiania lub odwoływanie praw przy użyciu wpisu kontroli dostępu w celu określenia informacji o relacjach zaufania i prawach.

Powiernik określony podczas konstruowania parametru ace może być indywidualnym użytkownikiem, grupą użytkowników lub komputerem. Jeśli powiernik jest osobą indywidualną, użyj formatu DOMAIN\user. Można określić znak "." dla zaufania, aby wskazać komputer lokalny.

Uprawnienia przypisywane za pomocą SetPermissions praw do istniejącej listy. Domyślnie twórca kolejki publicznej lub prywatnej ma pełną kontrolę, a grupa domeny Wszyscy mają uprawnienia do pobierania właściwości kolejki, uzyskiwania uprawnień i zapisywania w kolejce. Po wywołaniu metody SetPermissionsinformacje o użytkowniku i uprawnieniach są dołączane do dołu istniejącej listy.

System sprawdza każdy AccessControlEntry z nich w sekwencji, dopóki nie wystąpi jedno z następujących zdarzeń:

  • Odmowa AccessControlEntry dostępu jawnie zaprzecza dowolnym żądanym prawom dostępu do jednego z zaufanych osób wymienionych w tokenie dostępu wątku.

  • Co najmniej jeden dozwolony AccessControlEntry dostęp elementów dla zaufanych osób wymienionych w tokenie dostępu wątku jawnie udziela wszystkich żądanych praw dostępu.

  • Wszystkie AccessControlEntry elementy zostały sprawdzone i nadal istnieje co najmniej jedno żądane prawo dostępu, które nie zostało jawnie dozwolone, w takim przypadku dostęp jest niejawnie odrzucany.

Prawa do kolejki, które określasz w parametrze rights podczas konstruowania MessageQueueAccessControlEntryobiektu , mogą być dowolną kombinacją następujących elementów:

  • Pełna kontrola

  • Usuń wiadomość

  • Odbieranie wiadomości

  • Podgląd wiadomości

  • Odbieranie komunikatu dziennika

  • Pobieranie właściwości kolejki

  • Ustawianie właściwości kolejki

  • Uzyskiwanie uprawnień

  • Ustawianie uprawnień

  • Przejmowanie własności kolejki

  • Napisz wiadomość

Parametr rights określony w konstruktorze parametru ace jest flagą wyliczenia MessageQueueAccessRights . Reprezentuje zestaw flag bitowych, które można połączyć za pomocą operatora bitowego LUB podczas kompilowania parametru rights .

W poniższej tabeli przedstawiono, czy ta metoda jest dostępna w różnych trybach grupy roboczej.

Tryb grupy roboczej Dostępne
Komputer lokalny Tak
Komputer lokalny i nazwa formatu bezpośredniego Tak
Komputer zdalny Nie
Nazwa komputera zdalnego i formatu bezpośredniego Nie

Zobacz też

Dotyczy

SetPermissions(String, MessageQueueAccessRights)

Daje komputer, grupę lub użytkownika określone prawa dostępu.

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)

Parametry

user
String

Osoba, grupa lub komputer, który uzyskuje dodatkowe prawa do kolejki.

rights
MessageQueueAccessRights

Element MessageQueueAccessRights wskazujący zestaw praw do kolejki, który kolejka komunikatów przypisuje do przekazanego user obiektu.

Wyjątki

Element user to null.

Wystąpił błąd podczas uzyskiwania dostępu do metody kolejkowania komunikatów.

Przykłady

W poniższym przykładzie kodu pokazano użycie metody 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);

Uwagi

Użyj tego przeciążenia, aby przyznać określone prawa poszczególnym użytkownikom. Użytkownik może być dowolnym prawidłowym zaufaniem, który obejmuje poszczególnych użytkowników, grupy użytkowników lub komputer. Jeśli użytkownik jest osobą indywidualną, użyj formatu DOMAIN\user parametru user . Możesz określić parametr "." dla parametru user , aby wskazać komputer lokalny.

Uprawnienia przypisywane za pomocą SetPermissions praw dodawania do istniejącej listy. Domyślnie twórca kolejki publicznej lub prywatnej ma pełną kontrolę, a grupa domeny Wszyscy ma uprawnienia do pobierania właściwości kolejki, uzyskiwania uprawnień i zapisu w kolejce. Po wywołaniu wywołania SetPermissionsinformacje o użytkowniku i uprawnieniach są dołączane do dołu istniejącej listy.

System sprawdza każdy AccessControlEntry z nich w sekwencji, dopóki nie wystąpi jedno z następujących zdarzeń:

  • Odmowa AccessControlEntry dostępu jawnie zaprzecza dowolnym żądanym prawom dostępu do jednego z zaufanych osób wymienionych w tokenie dostępu wątku.

  • Co najmniej jeden dozwolony AccessControlEntry dostęp elementów dla zaufanych osób wymienionych w tokenie dostępu wątku jawnie udziela wszystkich żądanych praw dostępu.

  • Wszystkie AccessControlEntry elementy zostały sprawdzone i nadal istnieje co najmniej jedno żądane prawo dostępu, które nie zostało jawnie dozwolone, w takim przypadku dostęp jest niejawnie odrzucany.

Prawa do kolejki określone w parametrze rights mogą być dowolną kombinacją następujących elementów:

  • Pełna kontrola

  • Usuń wiadomość

  • Odbieranie wiadomości

  • Podgląd wiadomości

  • Odbieranie komunikatu dziennika

  • Pobieranie właściwości kolejki

  • Ustawianie właściwości kolejki

  • Uzyskiwanie uprawnień

  • Ustawianie uprawnień

  • Przejmowanie własności kolejki

  • Napisz wiadomość

Wyliczenie MessageQueueAccessRights reprezentuje zestaw flag bitowych, które można połączyć za pomocą operatora bitowego LUB w celu skompilowania parametru rights .

Za pomocą tego przeciążenia można udzielać tylko uprawnień; nie można ich odwołać ani odmówić. Należy użyć innego przeciążenia, aby jawnie udzielić dowolnego innego AccessControlEntryType niż Allow.

W poniższej tabeli przedstawiono, czy ta metoda jest dostępna w różnych trybach grupy roboczej.

Tryb grupy roboczej Dostępne
Komputer lokalny Tak
Komputer lokalny i nazwa formatu bezpośredniego Tak
Komputer zdalny Nie
Nazwa komputera zdalnego i formatu bezpośredniego Nie

Zobacz też

Dotyczy

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Nadaje komputerowi, grupie lub użytkownikowi określone prawa dostępu z określonym typem kontroli dostępu (zezwalaj, odmawiaj, odwoływanie lub ustawianie).

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)

Parametry

user
String

Osoba, grupa lub komputer, który uzyskuje dodatkowe prawa do kolejki.

rights
MessageQueueAccessRights

Element MessageQueueAccessRights wskazujący zestaw praw do kolejki, który kolejka komunikatów przypisuje do przekazanego user obiektu.

entryType
AccessControlEntryType

Element AccessControlEntryType określający, czy należy udzielić, odmówić lub odwołać uprawnienia określone przez rights parametr.

Wyjątki

Wystąpił błąd podczas uzyskiwania dostępu do metody kolejkowania komunikatów.

Przykłady

W poniższym przykładzie kodu pokazano użycie metody 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);

Uwagi

Użyj tego przeciążenia, aby udzielić, odmówić lub odwołać określone prawa dla pojedynczego użytkownika. Użytkownik może być dowolnym prawidłowym zaufaniem, który obejmuje poszczególnych użytkowników, grupy użytkowników lub komputer. Jeśli użytkownik jest osobą indywidualną, użyj formatu DOMAIN\user parametru user . Możesz określić parametr "." dla parametru user , aby wskazać komputer lokalny.

Uprawnienia przypisywane za pomocą SetPermissions praw dodawania do istniejącej listy. Domyślnie twórca kolejki publicznej lub prywatnej ma pełną kontrolę, a grupa domeny Wszyscy ma uprawnienia do pobierania właściwości kolejki, uzyskiwania uprawnień i zapisu w kolejce. Po wywołaniu wywołania SetPermissionsinformacje o użytkowniku i uprawnieniach są dołączane do dołu istniejącej listy.

System sprawdza każdy AccessControlEntry z nich w sekwencji, dopóki nie wystąpi jedno z następujących zdarzeń:

  • Odmowa AccessControlEntry dostępu jawnie zaprzecza dowolnym żądanym prawom dostępu do jednego z zaufanych osób wymienionych w tokenie dostępu wątku.

  • Co najmniej jeden dozwolony AccessControlEntry dostęp elementów dla zaufanych osób wymienionych w tokenie dostępu wątku jawnie udziela wszystkich żądanych praw dostępu.

  • Wszystkie AccessControlEntry elementy zostały sprawdzone i nadal istnieje co najmniej jedno żądane prawo dostępu, które nie zostało jawnie dozwolone, w takim przypadku dostęp jest niejawnie odrzucany.

Prawa do kolejki określone w parametrze rights mogą być dowolną kombinacją następujących elementów:

  • Pełna kontrola

  • Usuń wiadomość

  • Odbieranie wiadomości

  • Podgląd wiadomości

  • Odbieranie komunikatu dziennika

  • Pobieranie właściwości kolejki

  • Ustawianie właściwości kolejki

  • Uzyskiwanie uprawnień

  • Ustawianie uprawnień

  • Przejmowanie własności kolejki

  • Napisz wiadomość

Wyliczenie MessageQueueAccessRights reprezentuje zestaw flag bitowych, które można połączyć za pomocą operatora bitowego LUB w celu skompilowania parametru rights .

W poniższej tabeli przedstawiono, czy ta metoda jest dostępna w różnych trybach grupy roboczej.

Tryb grupy roboczej Dostępne
Komputer lokalny Tak
Komputer lokalny i nazwa formatu bezpośredniego Tak
Komputer zdalny Nie
Nazwa komputera zdalnego i formatu bezpośredniego Nie

Zobacz też

Dotyczy