JaasAuthenticationPlugin を使用して、特定のキューにアクセスしようとしているユーザーを認証しようとしています。(私のコードのほとんどは、ActiveMQ in Action で与えられた例に基づいています)
最終的に、名前にスペースが含まれるグループが含まれている可能性のある Active Directory サーバーに対して認証を行いたいのですが、名前にスペースが含まれるグループを使用しようとすると、問題が発生します。私がこれまでに持っているもの:
login.config:
activemq-domain {
org.apache.activemq.jaas.PropertiesLoginModule required
debug=true
org.apache.activemq.jaas.properties.user="users.properties"
org.apache.activemq.jaas.properties.group="groups.properties";
};
ユーザーのプロパティ:
user=password
グループのプロパティ:
users=user
Users Group=user
activemq.xml:
<plugins>
<jaasAuthenticationPlugin configuration="activemq-domain" />
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">"
read="users"
write="users"
admin="users" />
<authorizationEntry topic=">"
read="users"
write="users"
admin="users" />
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
これは問題なく動作しますが、「users」の代わりに「Users Group」を使用しようとすると、次のようになります。
javax.jms.JMSException: User user is not authorized to create: topic://ActiveMQ.Advisory.Connection
スペースを含むグループ名は ActiveMQ または JAAS でサポートされていませんか? どういうわけかスペースをエスケープする必要がありますか?