MessageQueue.SetPermissions 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
新增權限到目前的集合。 這控制了誰擁有排隊屬性和訊息的存取權。
多載
| 名稱 | 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 分配權限,將權限加入現有清單。 預設情況下,公開或私有佇列的建立者擁有完全控制權,網域群組 Everyone 擁有取得佇列屬性、權限及寫入該佇列的權限。 當你呼叫 SetPermissions時,使用者和權限資訊會附加在現有清單的底部。
系統依序檢查每一項 AccessControlEntry ,直到發生以下事件之一:
存取被拒絕 AccessControlEntry 明確拒絕對該討論串存取權杖中列出的受託人任何請求的存取權限。
一個或多個允許 AccessControlEntry 存取的項目,明確授予所有請求的存取權限。
AccessControlEntry所有項目都已檢查過,仍有至少一項請求的存取權限未被明確允許,若如此,存取將被默示拒絕。
當你建構參數時 dacl ,你會將實例加入 AccessControlEntry 你的 AccessControlList 集合。 當你建構每個存取控制項目時,可以指定通用或標準存取權限。 佇列權利可以是以下任意組合:
Delete
閱讀安全性
寫入安全
Synchronize
修改擁有者
讀取
書寫
執行
Required
全部
None
這些權利是一組位元旗標,你可以用 OR 位元運算子組合起來。
完全控制
刪除消息
接收訊息
偷看訊息
接收日誌訊息
取得佇列屬性
設定佇列屬性
取得權限
設定權限
以排隊為主導權
寫入訊息
下表顯示此方法是否可在多種工作群組模式中使用。
| 工作群組模式 | Available |
|---|---|
| 本機電腦 | 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)
參數
A 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 分配權限,將權限加入現有清單。 預設情況下,公開或私有佇列的建立者擁有完全控制權,網域群組 Everyone 擁有取得佇列屬性、權限及寫入該佇列的權限。 當你呼叫 SetPermissions時,使用者和權限資訊會附加在現有清單的底部。
系統依序檢查每一項 AccessControlEntry ,直到發生以下事件之一:
存取被拒絕 AccessControlEntry 明確拒絕對該討論串存取權杖中列出的受託人任何請求的存取權限。
一個或多個允許 AccessControlEntry 存取的項目,明確授予所有請求的存取權限。
AccessControlEntry所有項目都已檢查過,仍有至少一項請求的存取權限未被明確允許,若如此,存取將被默示拒絕。
你在建構 MessageQueueAccessControlEntry時,在參數中指定的rights佇列權利可以是以下任意組合:
完全控制
刪除消息
接收訊息
偷看訊息
接收日誌訊息
取得佇列屬性
設定佇列屬性
取得權限
設定權限
以排隊為主導權
寫入訊息
rights你在參數建構器ace中指定的參數是列舉的旗標MessageQueueAccessRights。 它代表一組位元旗標,你可以在建立 rights 參數時用位元運算子 OR 組合起來。
下表顯示此方法是否可在多種工作群組模式中使用。
| 工作群組模式 | Available |
|---|---|
| 本機電腦 | 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
A 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);
備註
利用此超載賦予個別使用者指定權利。 使用者可以是任何有效的受託人,包括個別使用者、使用者群組或電腦。 若使用者為個人,請使用參數格式DOMAINuser\user。 你可以指定「.」作為 user 參數,以表示本地電腦。
你透過 SetPermissions 分配權限,將權限加入現有清單。 預設情況下,公開或私有佇列的建立者擁有完全控制權,網域群組 Everyone 擁有取得佇列屬性、權限及寫入該佇列的權限。 當你呼叫 SetPermissions時,使用者和權限資訊會附加在現有清單的底部。
系統依序檢查每一項 AccessControlEntry ,直到發生以下事件之一:
存取被拒絕 AccessControlEntry 明確拒絕對該討論串存取權杖中列出的受託人任何請求的存取權限。
一個或多個允許 AccessControlEntry 存取的項目,明確授予所有請求的存取權限。
AccessControlEntry所有項目都已檢查過,仍有至少一項請求的存取權限未被明確允許,若如此,存取將被默示拒絕。
佇列的權利(參數中 rights 指定)可以是以下任意組合:
完全控制
刪除消息
接收訊息
偷看訊息
接收日誌訊息
取得佇列屬性
設定佇列屬性
取得權限
設定權限
以排隊為主導權
寫入訊息
MessageQueueAccessRights列舉代表一組位元旗標,你可以用位元運算子 OR 組合起來建立rights參數。
在這種過載狀態下,你只能授予權限;你不能撤銷或拒絕這些權利。 你必須使用不同的超載才能明確授予除 AccessControlEntryTypeAllow。
下表顯示此方法是否可在多種工作群組模式中使用。
| 工作群組模式 | Available |
|---|---|
| 本機電腦 | 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
A MessageQueueAccessRights 表示訊息排隊指派給傳入者 user 對佇列的權限集合。
- entryType
- AccessControlEntryType
該 A 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);
備註
利用此超載權限授予、拒絕或撤銷個別使用者的特定權利。 使用者可以是任何有效的受託人,包括個別使用者、使用者群組或電腦。 若使用者為個人,請使用參數格式DOMAINuser\user。 你可以指定「.」作為 user 參數,以表示本地電腦。
你透過 SetPermissions 分配權限,將權限加入現有清單。 預設情況下,公開或私有佇列的建立者擁有完全控制權,網域群組 Everyone 擁有取得佇列屬性、權限及寫入該佇列的權限。 當你呼叫 SetPermissions時,使用者和權限資訊會附加在現有清單的底部。
系統依序檢查每一項 AccessControlEntry ,直到發生以下事件之一:
存取被拒絕 AccessControlEntry 明確拒絕對該討論串存取權杖中列出的受託人任何請求的存取權限。
一個或多個允許 AccessControlEntry 存取的項目,明確授予所有請求的存取權限。
AccessControlEntry所有項目都已檢查過,仍有至少一項請求的存取權限未被明確允許,若如此,存取將被默示拒絕。
佇列的權利(參數中 rights 指定)可以是以下任意組合:
完全控制
刪除消息
接收訊息
偷看訊息
接收日誌訊息
取得佇列屬性
設定佇列屬性
取得權限
設定權限
以排隊為主導權
寫入訊息
MessageQueueAccessRights列舉代表一組位元旗標,你可以用位元運算子 OR 組合起來建立rights參數。
下表顯示此方法是否可在多種工作群組模式中使用。
| 工作群組模式 | Available |
|---|---|
| 本機電腦 | Yes |
| 本地電腦與直接格式名稱 | Yes |
| 遠端電腦 | No |
| 遠端電腦與直接格式名稱 | No |