I'm in the process of setting up ActiveMQ to use LDAP on Active Directory.
I have it working for the JMS connections but I'm running into some issues
on the Web Console.
I gone through all the doc's and email threads I can find on the subject.
My setup is a Windows 10 desktop ActiveMQ loaded locally connecting to my AD
domain on remote server.
I'm using ActiveMQ version 5.14.1
*When I access using the Web Console I get this:*
HTTP ERROR: 403
Problem accessing /admin/. Reason:
!role
Powered by Jetty:// 9.3.z-SNAPSHOT
Does anyone have an idea why this would happen?
Thanks
Mike
*Here is a snapshot of my console:*
jvm 1 | INFO | jetty-9.3.z-SNAPSHOT
jvm 1 | INFO | No Spring WebApplicationInitializer types detected on
classpath
jvm 1 | INFO | Refreshing Root WebApplicationContext: startup date [Wed
Oct 26 14:00:46 PDT 2016]; root of context hierarchy
jvm 1 | INFO | Loading XML bean definitions from ServletContext resource
[/WEB-INF/webconsole-embedded.xml]
jvm 1 | INFO | Loading XML bean definitions from ServletContext resource
[/WEB-INF/webconsole-query.xml]
jvm 1 | INFO | Loading properties file from URL
[file:../../conf/credentials.properties]
jvm 1 | INFO | ActiveMQ WebConsole available at http://0.0.0.0:8161/
jvm 1 | INFO | ActiveMQ Jolokia REST API available at
http://0.0.0.0:8161/api/jolokia/
jvm 1 | INFO | Initializing Spring FrameworkServlet 'dispatcher'
jvm 1 | INFO | FrameworkServlet 'dispatcher': initialization started
jvm 1 | INFO | Refreshing WebApplicationContext for namespace
'dispatcher-servlet': startup date [Wed Oct 26 14:00:46 PDT 2016]; parent:
Root WebApplicationContext
jvm 1 | INFO | Loading XML bean definitions from ServletContext resource
[/WEB-INF/dispatcher-servlet.xml]
jvm 1 | INFO | Mapped URL path [/createDestination.action] onto handler
'/createDestination.action'
jvm 1 | INFO | Mapped URL path [/deleteDestination.action] onto handler
'/deleteDestination.action'
jvm 1 | INFO | Mapped URL path [/createSubscriber.action] onto handler
'/createSubscriber.action'
jvm 1 | INFO | Mapped URL path [/deleteSubscriber.action] onto handler
'/deleteSubscriber.action'
jvm 1 | INFO | Mapped URL path [/sendMessage.action] onto handler
'/sendMessage.action'
jvm 1 | INFO | Mapped URL path [/purgeDestination.action] onto handler
'/purgeDestination.action'
jvm 1 | INFO | Mapped URL path [/deleteMessage.action] onto handler
'/deleteMessage.action'
jvm 1 | INFO | Mapped URL path [/copyMessage.action] onto handler
'/copyMessage.action'
jvm 1 | INFO | Mapped URL path [/moveMessage.action] onto handler
'/moveMessage.action'
jvm 1 | INFO | Mapped URL path [/deleteJob.action] onto handler
'/deleteJob.action'
jvm 1 | INFO | Mapped URL path [/retryMessage.action] onto handler
'/retryMessage.action'
jvm 1 | INFO | FrameworkServlet 'dispatcher': initialization completed
in 139 ms
jvm 1 | INFO | Started
o.e.j.w.WebAppContext@a49d8a{/admin,file:///C:/Apache/apache-activemq-5.14.1/webapps/admin/,AVAILABLE}
jvm 1 | INFO | ActiveMQ Console at
http://ServerConnector@1a854e0{HTTP/1.1,[http/1.1]}{0.0.0.0:8161}/admin
jvm 1 | INFO | No Spring WebApplicationInitializer types detected on
classpath
jvm 1 | INFO | jolokia-agent: Using policy access restrictor
classpath:/jolokia-access.xml
jvm 1 | INFO | Started
o.e.j.w.WebAppContext@1362cf8{/api,file:///C:/Apache/apache-activemq-5.14.1/webapps/api/,AVAILABLE}
jvm 1 | INFO | Apache ActiveMQ REST API at
http://ServerConnector@1a854e0{HTTP/1.1,[http/1.1]}{0.0.0.0:8161}/api
jvm 1 | INFO | Started
ServerConnector@1a854e0{HTTP/1.1,[http/1.1]}{0.0.0.0:8161}
jvm 1 | INFO | Started @2857ms
*My Jetty.xml sections that I have changed:*
<bean id="defaultIdentityService"
class="org.eclipse.jetty.security.DefaultIdentityService" />
<bean id="securityLDAPLoginService"
class="org.eclipse.jetty.jaas.JAASLoginService">
<property name="name" value="ActiveMQLDAPRealm" />
<property name="LoginModuleName" value="LDAP-Login" />
<property name="identityService" ref="defaultIdentityService" />
<property name="roleClassNames"
value="org.eclipse.jetty.jaas.JAASRole" />
</bean>
<bean id="securityConstraint"
class="org.eclipse.jetty.util.security.Constraint">
<property name="name" value="BASIC" />
<property name="roles" value="APPDEV043 Admins" />
<property name="authenticate" value="true" />
</bean>
<bean id="adminSecurityConstraint"
class="org.eclipse.jetty.util.security.Constraint">
<property name="name" value="BASIC" />
<property name="roles" value="APPDEV043 Admins" />
<property name="authenticate" value="true" />
</bean>
<bean id="securityHandler"
class="org.eclipse.jetty.security.ConstraintSecurityHandler">
<property name="realmName" value="ActiveMQLdapRealm" />
<property name="loginService" ref="securityLDAPLoginService" />
*My login.xml:*
LDAP-Login {
org.apache.activemq.jaas.LDAPLoginModule required
debug=true
initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
connectionURL="ldap://corp.local"
connectionUsername="CN=Mirth Development Service Account,OU=Service
Accounts,DC=corp,DC=local"
connectionPassword="XXXXX"
connectionProtocol=s
authentication=simple
userBase="OU=Service Accounts,DC=corp,DC=local"
userSearchMatching="(samaccountname={0})"
userSearchSubtree=true
roleBase="OU=Server Access Groups,OU=IT Security Groups,OU=Domain
Groups,DC=corp,DC=local"
roleName=CN
roleSearchMatching="(memberOf={0})"
roleSearchSubtree=true
;
};
--
View this message in context:
http://activemq.2283324.n4.nabble.com/ActiveMQ-Locking-down-Web-Console-via-LDAP-tp4718545.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.