protected void open() throws NamingException { if (isContextAlive()) { return; } context = createContext(); eventContext = ((EventDirContext) context.lookup("")); SearchControls searchControls = new SearchControls(); searchControls.setReturningAttributes(new String[]{roleAttribute}); searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); if (enableListener) { eventContext.addNamingListener(destinationBase, filter, searchControls, new LDAPNamespaceChangeListener()); } }
@Test public void testSecuritySettingPlugin() throws Exception { FileConfiguration fc = new FileConfiguration(); FileDeploymentManager deploymentManager = new FileDeploymentManager("securitySettingPlugin.xml"); deploymentManager.addDeployable(fc); deploymentManager.readConfiguration(); List<SecuritySettingPlugin> securitySettingPlugins = fc.getSecuritySettingPlugins(); SecuritySettingPlugin securitySettingPlugin = securitySettingPlugins.get(0); assertTrue(securitySettingPlugin instanceof LegacyLDAPSecuritySettingPlugin); LegacyLDAPSecuritySettingPlugin legacyLDAPSecuritySettingPlugin = (LegacyLDAPSecuritySettingPlugin) securitySettingPlugin; assertEquals(legacyLDAPSecuritySettingPlugin.getInitialContextFactory(), "testInitialContextFactory"); assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionURL(), "testConnectionURL"); assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionUsername(), "testConnectionUsername"); assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionPassword(), "testConnectionPassword"); assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionProtocol(), "testConnectionProtocol"); assertEquals(legacyLDAPSecuritySettingPlugin.getAuthentication(), "testAuthentication"); assertEquals(legacyLDAPSecuritySettingPlugin.getDestinationBase(), "testDestinationBase"); assertEquals(legacyLDAPSecuritySettingPlugin.getFilter(), "testFilter"); assertEquals(legacyLDAPSecuritySettingPlugin.getRoleAttribute(), "testRoleAttribute"); assertEquals(legacyLDAPSecuritySettingPlugin.getAdminPermissionValue(), "testAdminPermissionValue"); assertEquals(legacyLDAPSecuritySettingPlugin.getReadPermissionValue(), "testReadPermissionValue"); assertEquals(legacyLDAPSecuritySettingPlugin.getWritePermissionValue(), "testWritePermissionValue"); assertEquals(legacyLDAPSecuritySettingPlugin.isEnableListener(), false); }
@Before public void setUp() throws Exception { locator = ActiveMQClient.createServerLocatorWithoutHA(new TransportConfiguration(InVMConnectorFactory.class.getCanonicalName())); testDir = temporaryFolder.getRoot().getAbsolutePath(); LegacyLDAPSecuritySettingPlugin legacyLDAPSecuritySettingPlugin = new LegacyLDAPSecuritySettingPlugin().setInitialContextFactory("com.sun.jndi.ldap.LdapCtxFactory").setConnectionURL("ldap://localhost:1024").setConnectionUsername("uid=admin,ou=system").setConnectionPassword("secret").setConnectionProtocol("s").setAuthentication("simple"); ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("LDAPLogin"); Configuration configuration = new ConfigurationImpl().setSecurityEnabled(true).addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getCanonicalName())).setJournalDirectory(ActiveMQTestBase.getJournalDir(testDir, 0, false)).setBindingsDirectory(ActiveMQTestBase.getBindingsDir(testDir, 0, false)).setPagingDirectory(ActiveMQTestBase.getPageDir(testDir, 0, false)).setLargeMessagesDirectory(ActiveMQTestBase.getLargeMessagesDir(testDir, 0, false)).setPersistenceEnabled(false).addSecuritySettingPlugin(legacyLDAPSecuritySettingPlugin); server = ActiveMQServers.newActiveMQServer(configuration, ManagementFactory.getPlatformMBeanServer(), securityManager, false); }
@Before public void setUp() throws Exception { locator = ActiveMQClient.createServerLocatorWithoutHA(new TransportConfiguration(InVMConnectorFactory.class.getCanonicalName())); testDir = temporaryFolder.getRoot().getAbsolutePath(); LegacyLDAPSecuritySettingPlugin legacyLDAPSecuritySettingPlugin = new LegacyLDAPSecuritySettingPlugin(); Map<String, String> map = new HashMap<>(); map.put(LegacyLDAPSecuritySettingPlugin.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); map.put(LegacyLDAPSecuritySettingPlugin.CONNECTION_URL, "ldap://localhost:1024"); map.put(LegacyLDAPSecuritySettingPlugin.CONNECTION_USERNAME, "uid=admin,ou=system"); map.put(LegacyLDAPSecuritySettingPlugin.CONNECTION_PASSWORD, "secret"); map.put(LegacyLDAPSecuritySettingPlugin.CONNECTION_PROTOCOL, "s"); map.put(LegacyLDAPSecuritySettingPlugin.AUTHENTICATION, "simple"); map.put(LegacyLDAPSecuritySettingPlugin.ENABLE_LISTENER, "true"); legacyLDAPSecuritySettingPlugin.init(map); ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("LDAPLogin"); Configuration configuration = new ConfigurationImpl().setSecurityEnabled(true).addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getCanonicalName())).setJournalDirectory(ActiveMQTestBase.getJournalDir(testDir, 0, false)).setBindingsDirectory(ActiveMQTestBase.getBindingsDir(testDir, 0, false)).setPagingDirectory(ActiveMQTestBase.getPageDir(testDir, 0, false)).setLargeMessagesDirectory(ActiveMQTestBase.getLargeMessagesDir(testDir, 0, false)).setPersistenceEnabled(false).addSecuritySettingPlugin(legacyLDAPSecuritySettingPlugin); server = ActiveMQServers.newActiveMQServer(configuration, ManagementFactory.getPlatformMBeanServer(), securityManager, false); }
@Before public void setUp() throws Exception { locator = ActiveMQClient.createServerLocatorWithoutHA(new TransportConfiguration(InVMConnectorFactory.class.getCanonicalName())); testDir = temporaryFolder.getRoot().getAbsolutePath(); Map<String, String> init = new HashMap<>(); init.put("destinationBase", "ou=Destination,ou=ActiveMQ,o=example,ou=system"); init.put("roleAttribute", "member"); LegacyLDAPSecuritySettingPlugin legacyLDAPSecuritySettingPlugin = new LegacyLDAPSecuritySettingPlugin() .setInitialContextFactory("com.sun.jndi.ldap.LdapCtxFactory") .setConnectionURL("ldap://localhost:1024") .setConnectionUsername("uid=admin,ou=system") .setConnectionPassword("secret") .setConnectionProtocol("s") .setAuthentication("simple") .init(init); ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("LDAPLogin2"); Configuration configuration = new ConfigurationImpl() .setSecurityEnabled(true) .addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getCanonicalName())) .setJournalDirectory(ActiveMQTestBase.getJournalDir(testDir, 0, false)) .setBindingsDirectory(ActiveMQTestBase.getBindingsDir(testDir, 0, false)) .setPagingDirectory(ActiveMQTestBase.getPageDir(testDir, 0, false)) .setLargeMessagesDirectory(ActiveMQTestBase.getLargeMessagesDir(testDir, 0, false)) .setPersistenceEnabled(false) .addSecuritySettingPlugin(legacyLDAPSecuritySettingPlugin); server = ActiveMQServers.newActiveMQServer(configuration, ManagementFactory.getPlatformMBeanServer(), securityManager, false); }