我是Active MQ的新手。我想知道以下是可能的Active MQ(或Apollo)。ActiveMQ主題和安全性(或Apollo)
本質上,我有一個過程,將生成消息來啓用或禁用特定的網站。當消息(啓用/禁用)發送給ActiveMQ時,根據消息的路由鍵,該消息可能會有多個消費者。例如,如果消息要啓用站點A,則路由密鑰將爲site.A.enable。而站點A正在監視他們的站點A隊列將獲得此消息以及監視所有啓用/禁用消息的系統範圍處理器。
現在,我認爲這是可行的Active MQ使用主題。 SiteA將訂閱site.A.*
的所有主題,系統過程將訂閱site.*.enable
和site.*.disable
的所有主題。 這是在ActiveMQ中做到這一點的最佳方式嗎?
我也想確保siteA不能訂閱site.B.*
或site.C.*
主題。他們只能接收來自site.A.*
的消息。系統進程可以訪問所有site.*.*
主題。我也認爲這可以通過安全插頭完成。我只需更新配置文件併爲每個網站主題指定讀取/寫入/管理訪問權限,並將其連接到用戶/密碼或ldap,以識別哪些網站正在連接。 這是正確的嗎?如果這些網站是外部網站,這會起作用嗎
我希望能夠用最少的配置/設置添加新的站點。當siteX聯機時,發佈者代碼將只發布消息,就像所有其他發佈者代碼一樣,除了它將發佈到主題爲site.X.*
的主題上時,它將在發佈第一條消息時動態創建。消費者也可以動態地從site.X
開始消費。
這是我的問題所在。 如何添加網站X只能訪問site.X主題「動態」的安全性?我想我將不得不編輯配置文件併爲新網站添加安全性內容。然後我將不得不停止/啓動服務器來提取新設置。我可能能夠在服務器上編輯配置,但我不認爲每次添加新站點時都可以停止/啓動。
有沒有更好的方法來實現這個目標?
謝謝!
謝謝。 LDAP工作。我花了幾天的時間纔將它們一起工作(你需要jaasAuthenticationPlugin和cachedLDAPAuthorizationMap,這在規範中不太清楚)。 – Dan
太棒了,感謝您的反饋!不知道cachedLDAPAuthorizationMap。 –
@丹,我知道它已經有一段時間了,但是你會介意發佈你的apollo.xml和login.config嗎?我試圖做一些非常類似於你的事情,並且遇到了設置問題。謝謝 – scphantm