2012-09-04 19 views
5

खरगोश एमक्यू + वेब स्टॉम्प अद्भुत है। हालांकि, मेरे पास कुछ विषय हैं जिन्हें मैं केवल पढ़ने के लिए या केवल लिखने के रूप में सुरक्षित रखना चाहता हूं।खरगोश एमक्यू + वेब स्टॉम्प और सुरक्षा

ऐसा लगता है कि इन्हें सुरक्षित करने के लिए एकमात्र तंत्र rabbitmqctl के साथ हैं। मैं एक vhost, उपयोगकर्ता बना सकता हूं और फिर कुछ अनुमतियां लागू कर सकता हूं। हालांकि, यह वह जगह है जहां स्टॉम्प और खरगोश कार्यान्वयन टूटना शुरू हो जाता है।

विषय फॉर्म लेते हैं:/विषय/blah stomp में, जो एक रूटिंग कुंजी "blah" के साथ खरगोश में "amq.topic" के लिए मार्ग। ऐसा लगता है कि रूटिंग कुंजी के लिए अनुमतियां सेट करने का कोई तरीका नहीं है। लगता है:

rabbitmqctl set_permissions -p vhost user ".*" ".*" "^amq\.topic" 

सबसे अच्छा मैं कर सकता हूं, जो अभी भी "सभी" विषय है। मैंने एक्सचेंजों में भी देखा है, लेकिन इन्हें फ्लाई पर परिभाषित करने के लिए जावास्क्रिप्ट में कोई रास्ता नहीं है।

क्या मुझे यहां कुछ याद आ रही है?

संदर्भ: http://www.rabbitmq.com/blog/2012/05/14/introducing-rabbitmq-web-stomp/

उत्तर

5

हाँ, RabbitMQ-WebStomp साथ आप काफी सामान्य RabbitMQ अनुमति सेट करने के लिए सीमित कर रहे हैं। यह आदर्श नहीं है, लेकिन आपको मूल अनुमति सेटअप सही करने में सक्षम होना चाहिए। RabbitMQ डॉक्स पर एक नज़र डालें:

http://www.rabbitmq.com/access-control.html

जल्दी stomp डॉक्स पर देख रहे हैं:

http://www.rabbitmq.com/stomp.html

हाँ, आप अनुमतियाँ एक विशेष रूटिंग कुंजी के लिए निर्धारित नहीं कर सकते। हो सकता है कि आपको 'एक्सचेंज' सेमेन्टिक्स का उपयोग करना चाहिए, साथ ही एक कतार के साथ एक एक्सचेंज को स्पष्ट रूप से बांधना चाहिए (यानी: विषयों का उपयोग न करें):

/एक्सचेंज/एक्सचेंज_नाम [/ रूटिंग_की]।

कृपया, rabbitmq-चर्चा मेलिंग सूची पर आरएमक्यू अनुमतियों के बारे में ठोस प्रश्न पूछें। लोग वास्तव में सहायक हैं।

दुर्भाग्यवश, आरएमक्यू अनुमति सेट कुछ और जटिल परिदृश्यों के लिए पर्याप्त नहीं है।

  • उपयोग STOMP केवल करने के लिए डेटा को पढ़ने, और केवल कुछ बाहरी AJAX के इंटरफेस है कि आंतरिक रूप से खरगोश से सीधे बात कर सकते हैं का उपयोग कर संदेशों को प्रकाशित: इस मामले में आप कर सकते हैं।
  • या, वेब-स्टॉम्प प्लगइन का उपयोग न करें और मैन्युअल रूप से सॉकजेएस और खरगोशएमक्यू के बीच एक साधारण पुल लिखें। यह आपको अधिक लचीलापन देता है लेकिन अधिक काम की आवश्यकता है।
+0

के साथ जवाब देना पड़ता है, मैंने एक एक्सचेंज का उपयोग करके समाप्त किया। आदर्श नहीं, मुख्य रूप से क्योंकि यह तैनाती को जटिल बनाता है, लेकिन यह काम कर रहा है। – jbg

7

यह https://github.com/simonmacmullen/rabbitmq-auth-backend-http आज़माएं यह अधिक लचीला है। असल में यह खरगोश के लिए छोटी लेख प्लगइन है जो http (जिसमें आपके पास कुल नियंत्रण है) पर एक स्क्रिप्ट के लिए एसीएल निर्णय प्रस्तुत करता है, जिसे केवल "अनुमति" या "इनकार"

संबंधित मुद्दे