2016年3月1日星期二

ActiveMQ_018:控制台的认证

环境:OS X EI Capitan 10.11.3 + ActiveMQ 5.13

1. 所有账户/口令都是定义在 conf/jetty-realm.properties 文件中的,内容如下:
# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
admin: admin, admin
user: user, user
你可以增加用户,比如:
maping: maping, admin
注意,角色的定义是在 conf/jetty.xml 文件中,内容如下:
<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
    <property name="name" value="BASIC" />
    <property name="roles" value="user,admin" />
    <!-- set authenticate=false to disable login -->
    <property name="authenticate" value="true" />
</bean>
默认使用BASIC验证方式,并且要求认证。

另外,使用 admin 用户和 user 用户登陆控制台,看起来没有什么区别,也就是说控制台只有认证配置,没有授权配置。

2. 如果希望更安全的方式访问控制台,比如https,那么去掉 jetty.xml 文件中原本注释的 SecureConnector 部分
<property name="connectors">
    <list>
        <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
            <property name="port" value="8161" />
        </bean>
        <bean id="SecureConnector" class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
            <property name="port" value="8162" />
            <property name="keystore" value="file:${activemq.conf}/broker.ks" />
            <property name="password" value="password" />
        </bean>
    </list>
</property>

3. 如果希望 disable 问控制台,只需要注释掉 activemq.xml 中的这一行
<import resource="jetty.xml"/>

参考文献:
1. http://activemq.apache.org/web-console.html

没有评论: