2

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 でサポートされていませんか? どういうわけかスペースをエスケープする必要がありますか?

4

1 に答える 1

1

スペースをエスケープしてみてください

変化する:

Users Group=user

に:

Users\ Group=user
于 2013-07-17T14:39:50.177 に答える