Description
If the user tries to configure only the simple-ldap-auth-manager, client see the following exception on attempting to connect.
javax.jms.JMSException: Error creating connection: Error: Unable to create SASL Server:PLAIN at org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:125) at org.apache.qpid.example.Hello.runTest(Hello.java:51) at org.apache.qpid.example.Hello.main(Hello.java:40)
The issue is that SimpleLDAPAuthenticationManager is omitting to register the PLAIN SASL mechanism.
The user can workaround the issue by configuring a plain pd-auth-manager, (which causes the SASL mechanism to be registered) and specifying a default-auth-manager of SimpleLDAPAuthenticationManager as illustrated below:
<default-auth-manager>SimpleLDAPAuthenticationManager</default-auth-manager> <pd-auth-manager> <principal-database> <class>org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase</class> <attributes> <attribute> <name>passwordFile</name> <value>${conf}/emptypasswd</value> </attribute> </attributes> </principal-database> </pd-auth-manager>