2

我正在尝试使用 JaasAuthenticationPlugin 对尝试访问特定队列的用户进行身份验证。(我的大部分代码都基于 ActiveMQ in Action 中给出的示例)

最终,我想针对 Active Directory 服务器进行身份验证,该服务器的名称中可能包含带有空格的组,但是当我尝试使用名称中带有空格的组时,我遇到了问题。到目前为止我所拥有的:

登录配置:

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>

这很好用,但是一旦我尝试使用“用户组”而不是“用户”,我就会得到:

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 回答