2015-04-07 93 views

回答

2

在某個層面上,跺腳連接需要一個用戶名/密碼。確保連接的方法是創建一個特殊的有限RabbitMQ用戶,並具有所需的最小權限集。您可以在RabbitMQ ACL page上查看權限選項的詳細信息。

此外,如果您不想從stomp客戶端傳遞用戶名/密碼,則可以設置與匿名stomp連接一起使用的「默認用戶」。請參閱RabbitMQ STOMP page的「默認用戶」部分。

但是,請注意,雖然您未從客戶端傳遞用戶名/密碼,但客戶端仍具有「默認用戶」所擁有的RabbitMQ代理的所有權限。

+0

首先,感謝您的回答,如果我讓所有用戶成爲來賓用戶,那麼我還有另一個問題。我需要身份驗證,因爲用戶無法訂閱其他用戶的隊列或交換。我的意思是客戶端連接到rabbitmq服務器(作爲訪客用戶的答案),然後通過路由密鑰訂閱交換。我需要檢查此用戶是否可以使用此路由密鑰進行訂閱。我如何解決這個問題。 –

+0

@ V.B.it是一個「默認用戶」,它不應該與具有'guest'用戶名的用戶相同。相反,它將是具有不同用戶名和專門分配的權限的用戶。但是,您只能擁有一個「默認用戶」,所以我不確定它是否適用於您的情況。是否有一個原因,您不能以非常有限的權限爲每個踩踏用戶創建一個用戶?然後,您可以以該用戶身份(使用'client.connect(username,password,connectCallback)')進行連接,但由於用戶只具有有限權限,因此最終用戶知道用戶名/密碼並不重要。 – lsowen