身份驗證
現在我們已經準備好我們的接收器和位址,是時候處理代理程式的安全性了。Artemis 繼承了 ActiveMQ 的大部分安全性概念。其中一個最顯著的差異是,ActiveMQ 中的群組現在在 Artemis 中稱為角色。除此之外,對於現有的 ActiveMQ 使用者來說,應該相當熟悉。讓我們從研究身份驗證機制並定義使用者和角色(群組)開始。
ActiveMQ 和 Artemis 都使用 JAAS 來定義身份驗證憑證。在 ActiveMQ 中,這是透過 conf/activemq.xml
中的適當代理程式外掛程式進行配置的。
<plugins>
<jaasAuthenticationPlugin configuration="activemq" />
</plugins>
JAAS 網域名稱指定為組態參數。
在 Artemis 中,同樣的事情是透過在 etc/bootstrap.xml
中定義 <jaas-security>
配置來實現的。
<jaas-security domain="activemq"/>
從現在開始,您可以在適當的檔案中定義您的使用者及其角色,例如 ActiveMQ 中的 conf/users.properties
和 conf/groups.properties
。同樣地,etc/artemis-users.properties
和 etc/artemis-roles.properties
檔案在 Artemis 中使用。這些檔案是可以互換的,因此您應該能夠直接將現有的組態複製到新的代理程式中。
如果您的部署比這更複雜,並且需要一些進階的 JAAS 配置,您需要去更改 etc/login.config
檔案。重要的是要說,您在 ActiveMQ 中使用的所有自訂 JAAS 模組和配置都應該與 Artemis 相容。
最後,如果您仍然在使用 ActiveMQ 的簡單身份驗證外掛程式,該外掛程式直接在代理程式的 xml 配置檔案中定義使用者和群組,則您需要遷移到 JAAS,因為 Artemis 不支援類似的概念。