5.9. 跟踪来自验证的用户的消息
要启用跟踪并记录消息的来源(例如,对于安全审核目的),您可以使用 _AMQ_VALIDATED_USER
消息键。
在 broker.xml
配置文件中,如果 populate-validated-user
选项被设置为 true
,则代理将使用 _AMQ_VALIDATED_USER
键将经过验证的用户的名称添加到消息中。对于 JMS 和 STOMP 客户端,此消息键映射到 JMSXUserID
密钥。
代理无法将经过验证的用户名添加到由 AMQP JMS 客户端生成的消息中。在客户端发送后修改 AMQP 消息的属性违反了 AMQP 协议。
对于基于其 SSL 证书进行身份验证的用户,由代理填充的验证用户名是证书的可辨识名称(DN)映射的名称。
在 broker.xml
配置文件中,如果启用了 security-enabled
为 false
,并且 populate-validated-user
为 true
,则代理会填充任何用户名(若有的话)。populate-validated-user
选项默认为 false
。
您可以将代理配置为拒绝在发送消息时没有用户名(即 JMSXUserID
密钥)的消息。您可能会发现此选项对 AMQP 客户端很有用,因为代理无法为这些客户端发送的消息填充经过验证的用户名本身。
要将代理配置为拒绝客户端未设置 JMSXUserID
的消息,请将以下配置添加到 broker.xml
配置文件中:
<reject-empty-validated-user>true</reject-empty-validated-user>
<reject-empty-validated-user>true</reject-empty-validated-user>
默认情况下,reject-empty-validated-user
设置为 false
。