ActiveMQ裏內嵌的jetty的安全配置

1. 拷貝 jetty-plus-6.1.9.jar 到 ${activemq.base}/lib/web/

2. 在配置文件${activemq.base}/conf/activemq.xml的<jetty xmlns="http://mortbay.com/schemas/jetty/1.0">節點裏加上:
        <!-- @wjw_add -->
        <userRealms>
          <jaasUserRealm name="ActiveMQ Realm" loginModuleName="ActiveMQ" />
        </userRealms>

3. 建立:${activemq.base}/conf/mylogin.conf
###########################################
ActiveMQ{
org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule required
debug="true"
file="${activemq.base}/conf/mylogin.properties";
};
###########################################

4. 建立:${activemq.base}/conf/mylogin.properties
###########################################
#The format is: <username>: <password>[,<rolename> ...]
admin: adminadmin,roleAdmin
###########################################

5. Configure the security constraint either in the webconsoles web.xml or in jetty's webdefault.xml
在${activemq.base}/webapps/admin/WEB-INF/web.xml文件裏添加以下內容
###########################################
<security-constraint>
 <web-resource-collection>
  <web-resource-name>A Protected Page</web-resource-name>
  <url-pattern>/*</url-pattern>
 </web-resource-collection>
 <auth-constraint>
  <role-name>roleAdmin</role-name>
 </auth-constraint>
</security-constraint>
 
<login-config>
 <auth-method>BASIC</auth-method>
 <realm-name>ActiveMQ Realm</realm-name>
</login-config>
###########################################

6. 在文件: ${activemq.base}/bin/activemq裏把環境變量"-Djava.security.auth.login.config=${ACTIVEMQ_BASE}/conf/mylogin.conf"加到ACTIVEMQ_OPTS
例如: ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS $SUNJMX $SSL_OPTS -Djava.security.auth.login.config=${ACTIVEMQ_BASE}/conf/mylogin.conf"

結束:使用瀏覽器訪問http://activemq的IP:8161/admin,瀏覽器就會彈出登錄對話框!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章