다음을 통해 공유


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 . 각 액세스 제어 항목을 생성 하는 경우에 제네릭 또는 표준 액세스 권한을 지정할 수 있습니다. 큐에 대 한 권한을 다음의 조합일 수 있습니다.

  • 삭제

  • 보안 읽기

  • 보안 쓰기

  • 동기화

  • 소유자 수정

  • 읽기

  • 쓰기

  • Execute

  • 필수

  • 모두

  • 없음

이러한 권한은 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입니다.

예외

메시지 큐 메서드에 액세스하는 동안 오류가 발생한 경우

예제

다음 코드 예제에서는 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에 메시지 큐 서비스가 할당하는 큐에 대한 권한 집합을 나타내는 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 나타냅니다.

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

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

작업 그룹 모드 사용 가능
수집 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에 메시지 큐 서비스가 할당하는 큐에 대한 권한 집합을 나타내는 MessageQueueAccessRights입니다.

entryType
AccessControlEntryType

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

예외

메시지 큐 메서드에 액세스하는 동안 오류가 발생한 경우

예제

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

추가 정보

적용 대상