diff options
Diffstat (limited to 'qpid/java/broker')
2 files changed, 7 insertions, 26 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactory.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactory.java index 4dfcaab8ef..7efb71d78b 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactory.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactory.java @@ -88,20 +88,6 @@ public class AuthenticationProviderFactory AuthenticationProviderAdapter<?> authenticationProvider; if (manager instanceof PrincipalDatabaseAuthenticationManager) { - // a temporary restriction to prevent creation of several instances - // of PlainPasswordFileAuthenticationProvider/Base64MD5PasswordFileAuthenticationProvider - // due to current limitation of JMX management which cannot cope - // with several user management MBeans as MBean type is used as a name. - - // TODO: Remove this check after fixing of JMX management - for (AuthenticationProvider provider : broker.getAuthenticationProviders()) - { - if (provider instanceof PasswordCredentialManagingAuthenticationProvider) - { - throw new IllegalConfigurationException("An authentication provider which can manage users already exists [" - + provider.getName() + "]. Only one instance is allowed."); - } - } authenticationProvider = new PrincipalDatabaseAuthenticationManagerAdapter(id, broker, (PrincipalDatabaseAuthenticationManager) manager, attributes, factory.getAttributeNames()); } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java index 4a76c1837c..fbb1e4105f 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/model/adapter/AuthenticationProviderFactoryTest.java @@ -33,7 +33,6 @@ import java.util.UUID; import junit.framework.TestCase; -import org.apache.qpid.server.configuration.IllegalConfigurationException; import org.apache.qpid.server.model.AuthenticationProvider; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.PasswordCredentialManagingAuthenticationProvider; @@ -114,8 +113,7 @@ public class AuthenticationProviderFactoryTest extends TestCase return provider; } - @SuppressWarnings("unchecked") - public void testCreatePasswordCredentialManagingAuthenticationProviderFailsWhenAnotherOneAlreadyExist() + public void testCreatePasswordCredentialManagingAuthenticationProviderFailsWhenAnotherOneAlready() { Broker broker = mock(Broker.class); PasswordCredentialManagingAuthenticationProvider anotherProvider = mock(PasswordCredentialManagingAuthenticationProvider.class); @@ -127,15 +125,12 @@ public class AuthenticationProviderFactoryTest extends TestCase when(loader.atLeastOneInstanceOf(AuthenticationManagerFactory.class)).thenReturn(Collections.singleton(managerFactory)); AuthenticationProviderFactory providerFactory = new AuthenticationProviderFactory(loader); - try - { - providerFactory.create(UUID.randomUUID(), broker, new HashMap<String, Object>()); - fail("Creation of anaother PasswordCredentialManagingAuthenticationProvider should fail"); - } - catch (IllegalConfigurationException e) - { - // pass - } + + UUID randomUUID = UUID.randomUUID(); + AuthenticationProvider provider = providerFactory.create(randomUUID, broker, new HashMap<String, Object>()); + + assertNotNull("Provider is not created", provider); + assertEquals("Unexpected ID", randomUUID, provider.getId()); } @SuppressWarnings("unchecked") |
