MessageQueue.SetPermissions 메서드

정의

현재 집합에 사용 권한을 추가합니다. 큐의 큐 속성 및 메시지에 대한 액세스 권한이 있는 사용자를 제어합니다.

오버로드

Name Description
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 트러스티와 부여할 권한을 지정하는 하나 이상의 액세스 제어 항목이 포함된 A입니다.

예외

메시지 큐 메서드에 액세스할 때 오류가 발생했습니다.

예제

다음 코드 예제에서는 .의 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

  • 소유자 수정

  • Read

  • 작성하다

  • 실행

  • Required

  • All

  • None

이러한 권한은 OR 비트 연산자를 사용하여 결합할 수 있는 비트 플래그 집합입니다.

  • 모든 권한

  • 메시지 삭제

  • 메시지 받기

  • 메시지 피킹

  • 저널 메시지 받기

  • 큐 속성 가져오기

  • 큐 속성 설정

  • 사용 권한 가져오기

  • 사용 권한 설정

  • 큐 소유권 가져오기

  • 메시지 쓰기

다음 표에서는 이 메서드를 다양한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.

작업 그룹 모드 이용 가능
로컬 컴퓨터 Yes
로컬 컴퓨터 및 직접 형식 이름 Yes
원격 컴퓨터 No
원격 컴퓨터 및 직접 형식 이름 No

추가 정보

적용 대상

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 사용자, 액세스 유형 및 사용 권한 유형을 지정하는 A입니다.

예외

메시지 큐 메서드에 액세스할 때 오류가 발생했습니다.

예제

다음 코드 예제에서는 .의 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 항목이 확인되었으며 명시적으로 허용되지 않은 하나 이상의 요청된 액세스 권한이 있으며, 이 경우 액세스가 암시적으로 거부됩니다.

생성MessageQueueAccessControlEntry할 때 매개 변수에 지정하는 큐에 rights 대한 권한은 다음의 조합일 수 있습니다.

  • 모든 권한

  • 메시지 삭제

  • 메시지 받기

  • 메시지 피킹

  • 저널 메시지 받기

  • 큐 속성 가져오기

  • 큐 속성 설정

  • 사용 권한 가져오기

  • 사용 권한 설정

  • 큐 소유권 가져오기

  • 메시지 쓰기

rights 매개 변수의 생성자 ace 에서 지정하는 매개 변수는 열거형의 MessageQueueAccessRights 플래그입니다. 매개 변수를 빌드할 때 비트 연산자 OR을 사용하여 결합할 수 있는 비트 플래그 집합을 rights 나타냅니다.

다음 표에서는 이 메서드를 다양한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.

작업 그룹 모드 이용 가능
로컬 컴퓨터 Yes
로컬 컴퓨터 및 직접 형식 이름 Yes
원격 컴퓨터 No
원격 컴퓨터 및 직접 형식 이름 No

추가 정보

적용 대상

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

메시지 큐에서 전달된 큐에 할당하는 큐에 대한 권한 집합을 user 나타내는 A MessageQueueAccessRights 입니다.

예외

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\useruser 사용합니다. 매개 변수에 user 대해 "."를 지정하여 로컬 컴퓨터를 나타낼 수 있습니다.

기존 목록에 권한을 추가하여 할당 SetPermissions 하는 권한입니다. 기본적으로 퍼블릭 또는 프라이빗 큐의 작성자는 모든 권한을 가지며 도메인 그룹 모든 사용자는 큐 속성을 얻고, 권한을 얻고, 큐에 쓸 수 있는 권한이 있습니다. 호출 SetPermissions하면 사용자 및 사용 권한 정보가 기존 목록의 맨 아래에 추가됩니다.

시스템은 다음 이벤트 중 하나가 발생할 때까지 각 AccessControlEntry 이벤트를 순서대로 검사합니다.

  • 액세스 거부는 스레드의 액세스 토큰에 나열된 AccessControlEntry 수탁자 중 하나에 대해 요청된 액세스 권한을 명시적으로 거부합니다.

  • 스레드의 액세스 토큰에 나열된 수탁자의 액세스 허용 항목 하나 이상이 요청된 AccessControlEntry 모든 액세스 권한을 명시적으로 부여합니다.

  • 모든 AccessControlEntry 항목이 확인되었으며 명시적으로 허용되지 않은 하나 이상의 요청된 액세스 권한이 있으며, 이 경우 액세스가 암시적으로 거부됩니다.

매개 변수에 지정된 큐에 rights 대한 권한은 다음의 조합일 수 있습니다.

  • 모든 권한

  • 메시지 삭제

  • 메시지 받기

  • 메시지 피킹

  • 저널 메시지 받기

  • 큐 속성 가져오기

  • 큐 속성 설정

  • 사용 권한 가져오기

  • 사용 권한 설정

  • 큐 소유권 가져오기

  • 메시지 쓰기

열거형은 MessageQueueAccessRights 비트 연산자 OR을 사용하여 결합하여 매개 변수를 빌드할 수 있는 비트 플래그 집합을 rights 나타냅니다.

이 오버로드를 사용하면 사용 권한만 부여할 수 있습니다. 취소하거나 거부할 수 없습니다. 다른 오버로드를 사용하여 다른 오버로드를 명시적으로 부여 AccessControlEntryTypeAllow해야 합니다.

다음 표에서는 이 메서드를 다양한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.

작업 그룹 모드 이용 가능
로컬 컴퓨터 Yes
로컬 컴퓨터 및 직접 형식 이름 Yes
원격 컴퓨터 No
원격 컴퓨터 및 직접 형식 이름 No

추가 정보

적용 대상

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

메시지 큐에서 전달된 큐에 할당하는 큐에 대한 권한 집합을 user 나타내는 A MessageQueueAccessRights 입니다.

entryType
AccessControlEntryType

AccessControlEntryType 매개 변수로 지정된 rights 사용 권한을 부여, 거부 또는 취소할지 여부를 지정하는 A입니다.

예외

메시지 큐 메서드에 액세스할 때 오류가 발생했습니다.

예제

다음 코드 예제에서는 .의 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\useruser 사용합니다. 매개 변수에 user 대해 "."를 지정하여 로컬 컴퓨터를 나타낼 수 있습니다.

기존 목록에 권한을 추가하여 할당 SetPermissions 하는 권한입니다. 기본적으로 퍼블릭 또는 프라이빗 큐의 작성자는 모든 권한을 가지며 도메인 그룹 모든 사용자는 큐 속성을 얻고, 권한을 얻고, 큐에 쓸 수 있는 권한이 있습니다. 호출 SetPermissions하면 사용자 및 사용 권한 정보가 기존 목록의 맨 아래에 추가됩니다.

시스템은 다음 이벤트 중 하나가 발생할 때까지 각 AccessControlEntry 이벤트를 순서대로 검사합니다.

  • 액세스 거부는 스레드의 액세스 토큰에 나열된 AccessControlEntry 수탁자 중 하나에 대해 요청된 액세스 권한을 명시적으로 거부합니다.

  • 스레드의 액세스 토큰에 나열된 수탁자의 액세스 허용 항목 하나 이상이 요청된 AccessControlEntry 모든 액세스 권한을 명시적으로 부여합니다.

  • 모든 AccessControlEntry 항목이 확인되었으며 명시적으로 허용되지 않은 하나 이상의 요청된 액세스 권한이 있으며, 이 경우 액세스가 암시적으로 거부됩니다.

매개 변수에 지정된 큐에 rights 대한 권한은 다음의 조합일 수 있습니다.

  • 모든 권한

  • 메시지 삭제

  • 메시지 받기

  • 메시지 피킹

  • 저널 메시지 받기

  • 큐 속성 가져오기

  • 큐 속성 설정

  • 사용 권한 가져오기

  • 사용 권한 설정

  • 큐 소유권 가져오기

  • 메시지 쓰기

열거형은 MessageQueueAccessRights 비트 연산자 OR을 사용하여 결합하여 매개 변수를 빌드할 수 있는 비트 플래그 집합을 rights 나타냅니다.

다음 표에서는 이 메서드를 다양한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.

작업 그룹 모드 이용 가능
로컬 컴퓨터 Yes
로컬 컴퓨터 및 직접 형식 이름 Yes
원격 컴퓨터 No
원격 컴퓨터 및 직접 형식 이름 No

추가 정보

적용 대상