2010-06-27 108 views
2

我們有一個系統使用兩臺機器來做一些處理。讓我們調用處理PROCESSOR的機器,然後讓機器給它處理SERVER。兩者都運行Windows Server 2008.我們有一個Windows服務在SERVER上運行,需要使用MSMQ將消息發送到公共隊列PROCESSOR。MSMQ AD權限

在PROCESSOR上,我們有另一個Windows服務,它從隊列中提取項目進行處理。

這兩臺機器位於同一個域中,並且如果我們在具有域管理權限的帳戶下運行這兩種服務,所有工作都會正常進行。但是,我們需要帳戶具有最低權限(特別是對於SERVER上的服務)。

在提升我們用於PROCESSOR服務的帳戶權限之前,我試着給它授予MSMQ的完整權利。然而,這似乎還不夠,只要服務試圖對MSMQ做任何事情(它首先在檢查相關隊列時是否存在),我得到一個異常說「訪問消息隊列是拒絕」。

是否有人知道需要授予AD帳戶哪些權限才能使用MSMQ?

感謝,

安德魯

回答

0

下一個定義的系統帳戶運行的服務,像(我相信網絡),然後設置上的MSMQ的權限,完全控制了點。

當我在過去使用這個功能時,我只是欺騙並允許訪問「每個人」。但是在域設置中,最好的方法是創建一個域用戶並將其設置爲MQ上的服務和權限。

0

您需要爲Active Directory中的對象設置權限。
因此,例如,如果查詢對象,則需要獲取屬性權限。
這應該在計算機對象下的MSMQ對象和MSMQ對象下的隊列對象上。 此外,默認設置將被限制爲允許所有人發送但不能接收,因此您需要爲您正在使用的域帳戶添加訪問權限以便能夠讀取郵件。