Available since 5.6 Cached LDAP authorization module is an implementation of an default authorization module that initializes and updates data from LDAP. It supports all standard features like defining wildcard policy entries and entry for temporary destinations. InitializingWe provide two ldif files for easy starting. The first one is for Apache Directory Server (ldif), which we use in embedded mode for testing. For an example on how to initialize the embedded ApacheDS with this ldif file take a look at CachedLDAPSecurityTest The other one is for OpenLDAP (ldif) The provided ldif and examples assume suffix "dc=activemq,dc=apache,dc=org" rootdn "cn=admin,dc=activemq,dc=apache,dc=org" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw {SSHA}lfAYn54xCFghgQv5B2Kqn3d3eLojqxtS should be put into your To initialize your (properly configured) OpenLDAP do something like ldapadd -x -D "cn=admin,dc=activemq,dc=apache,dc=org" -w sunflower -f activemq-openldap.ldif ConfiguringOnce entries are in LDAP, you can configure the module to load entries from there. A default values are adapted for embedded Apache DS server, so all you have to do in that case is add your plugin to the broker xml conf <authorizationPlugin> <map> <cachedLDAPAuthorizationMap/> </map> </authorizationPlugin> For the OpenLDAP case, you should define more parameters <authorizationPlugin> <map> <cachedLDAPAuthorizationMap connectionURL="ldap://localhost:389" connectionUsername="cn=admin,dc=activemq,dc=apache,dc=org" connectionPassword="sunflower" queueSearchBase="ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org" topicSearchBase="ou=Topic,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org" tempSearchBase="ou=Temp,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org" refreshInterval="300000" legacyGroupMapping="false" /> </map> </authorizationPlugin> Full examples of configurations for Apache DS and OpenLDAP The list of all properties for
UpdatesMany LDAP servers supports so called "persistent search" feature which allows applications to receive changes in LDAP in a "push" manner. By default this plugin assumes that LDAP server supports this feature and will "register" to get live updates. For servers that doesn't support this yet (like OpenLDAP), we provide "pull" updates. In this case you need to set |