JMSXUserID

功能 > JMSXUserID

JMSXUserID 支援

有時知道訊息發送者的已驗證使用者名稱會很有用。 預設情況下不會新增此項,但您可以透過 Java 程式碼在代理程式上設定 populateJMSXUserID 屬性來啟用它

BrokerService broker = new BrokerService();
broker.setPopulateJMSXUserID(true);
broker.start();

或透過 XML 設定

<broker xmlns="http://activemq.org/config/1.0" populateJMSXUserID="true">
   ...
</broker>

或透過 代理程式設定 URI

一旦啟用此功能,它會將 JMS 屬性 JMSXUserID 新增至每個 JMS 訊息,以便消費者可以確切知道發送者是誰,並使用代理程式的驗證策略。 也就是說,如果啟用了此功能,生產者就無法偽造此值,因為代理程式會在發送者的連線經過驗證後將該屬性附加到訊息。

如果您允許匿名存取,您還必須新增

useAuthenticatedPrincipalForJMSXUserID="true"

代理程式元素的屬性。 否則,匿名用戶端可以透過從用戶端設定 JMSXUserID 屬性來偽造身分。 此屬性在 5.5 或 5.5-SNAPSHOT 版本 > 3 月 12 日中可用。 但請注意,對於基於 SSL 憑證的驗證,例如,當使用 TextFileCertificateLoginModule JAAS 模組時,這將會更改代理程式提供的 JMSXUserID 的語義。 它將不會返回憑證的 DN,而是提供 JAAS 模組將 DN 對應到的名稱。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。 版權所有 © 2024,The Apache Software Foundation。 根據Apache License 2.0授權。