public boolean isSupportsAnonymous() { boolean supportsAnonymous = false; try { server.getSecurityStore().authenticate(null, null, null); supportsAnonymous = true; } catch (Exception e) { // authentication failed so no anonymous support } return supportsAnonymous; }
private void securityCheck(SimpleString address, SimpleString queue, CheckType checkType, SecurityAuth auth) throws Exception { if (securityEnabled) { securityStore.check(address, queue, checkType, auth); } }
@Override protected boolean authenticate(String user, String password) { if (securityStore.isSecurityEnabled()) { try { securityStore.authenticate(user, password, null); return true; } catch (Exception e) { return false; } } else { return true; } } }
@Test public void test1xNamingNegative() throws NamingException, JMSException { liveService.getSecurityStore().setSecurityEnabled(false); Hashtable<String, String> props = new Hashtable<>(); props.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory"); props.put("connectionFactory.ConnectionFactory", "vm://0"); Context ctx = new InitialContext(props); ConnectionFactory connectionFactory = (ConnectionFactory) ctx.lookup("ConnectionFactory"); Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(); assertFalse(session.createQueue("testQueue").getQueueName().startsWith(PacketImpl.OLD_QUEUE_PREFIX.toString())); assertFalse(session.createTemporaryQueue().getQueueName().startsWith(PacketImpl.OLD_TEMP_QUEUE_PREFIX.toString())); assertFalse(session.createTopic("testTopic").getTopicName().startsWith(PacketImpl.OLD_TOPIC_PREFIX.toString())); assertFalse(session.createTemporaryTopic().getTopicName().startsWith(PacketImpl.OLD_TEMP_TOPIC_PREFIX.toString())); connection.close(); }
securityStore.stop(); } catch (Throwable t) { ActiveMQServerLogger.LOGGER.errorStoppingComponent(t, managementService.getClass().getName());
@Test public void test1xNaming() throws NamingException, JMSException { liveService.getSecurityStore().setSecurityEnabled(false); Hashtable<String, String> props = new Hashtable<>(); props.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory"); props.put("connectionFactory.ConnectionFactory", "vm://0?enable1xPrefixes=true"); props.put("connectionFactory.ConnectionFactory2", "vm://0"); Context ctx = new InitialContext(props); ConnectionFactory connectionFactory = (ConnectionFactory) ctx.lookup("ConnectionFactory"); Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(); assertTrue(session.createQueue("testQueue").getQueueName().startsWith(PacketImpl.OLD_QUEUE_PREFIX.toString())); assertTrue(session.createTemporaryQueue().getQueueName().startsWith(PacketImpl.OLD_TEMP_QUEUE_PREFIX.toString())); assertTrue(session.createTopic("testTopic").getTopicName().startsWith(PacketImpl.OLD_TOPIC_PREFIX.toString())); assertTrue(session.createTemporaryTopic().getTopicName().startsWith(PacketImpl.OLD_TEMP_TOPIC_PREFIX.toString())); connection.close(); // test setting programmatically connectionFactory = (ConnectionFactory) ctx.lookup("ConnectionFactory2"); ((ActiveMQConnectionFactory)connectionFactory).setEnable1xPrefixes(true); connection = connectionFactory.createConnection(); session = connection.createSession(); assertTrue(session.createQueue("testQueue").getQueueName().startsWith(PacketImpl.OLD_QUEUE_PREFIX.toString())); assertTrue(session.createTemporaryQueue().getQueueName().startsWith(PacketImpl.OLD_TEMP_QUEUE_PREFIX.toString())); assertTrue(session.createTopic("testTopic").getTopicName().startsWith(PacketImpl.OLD_TOPIC_PREFIX.toString())); assertTrue(session.createTemporaryTopic().getTopicName().startsWith(PacketImpl.OLD_TEMP_TOPIC_PREFIX.toString())); connection.close(); }
public boolean isSupportsAnonymous() { boolean supportsAnonymous = false; try { server.getSecurityStore().authenticate(null, null, null); supportsAnonymous = true; } catch (Exception e) { // authentication failed so no anonymous support } return supportsAnonymous; }
@Override protected boolean authenticate(String user, String password) { if (securityStore.isSecurityEnabled()) { try { securityStore.authenticate(user, password, null); return true; } catch (Exception e) { return false; } } else { return true; } } }
private void securityCheck(SimpleString address, CheckType checkType, SecurityAuth auth) throws Exception { if (securityEnabled) { securityStore.check(address, checkType, auth); } }
@Test public void testConnection() throws Exception { server.getSecurityStore().setSecurityEnabled(true); StompClientConnection connection = StompClientConnectionFactory.createClientConnection(v10Uri); connection.connect(defUser, defPass); assertTrue(connection.isConnected()); assertEquals("1.0", connection.getVersion()); connection.disconnect(); connection = StompClientConnectionFactory.createClientConnection(uri); connection.connect(defUser, defPass); assertTrue(connection.isConnected()); assertEquals("1.1", connection.getVersion()); connection.disconnect(); connection = StompClientConnectionFactory.createClientConnection(uri); connection.connect(); assertFalse(connection.isConnected()); //new way of connection StompClientConnectionV11 conn = (StompClientConnectionV11) StompClientConnectionFactory.createClientConnection(uri); conn.connect1(defUser, defPass); assertTrue(conn.isConnected()); conn.disconnect(); //invalid user conn = (StompClientConnectionV11) StompClientConnectionFactory.createClientConnection(uri); ClientStompFrame frame = conn.connect("invaliduser", defPass); assertFalse(conn.isConnected()); assertTrue(Stomp.Responses.ERROR.equals(frame.getCommand())); assertTrue(frame.getBody().contains("Security Error occurred")); }
public void validateUser(String login, String passcode, OpenWireConnection connection) throws Exception { server.getSecurityStore().authenticate(login, passcode, connection); }
public void check(SimpleString address, CheckType checkType, SecurityAuth session) throws Exception { manager.getServer().getSecurityStore().check(address, checkType, session); }
@Test public void testConnection() throws Exception { server.getSecurityStore().setSecurityEnabled(true); StompClientConnection connection = StompClientConnectionFactory.createClientConnection(v10Uri); connection.connect(defUser, defPass); Assert.assertTrue(connection.isConnected()); Assert.assertEquals("1.0", connection.getVersion()); connection.disconnect(); connection = StompClientConnectionFactory.createClientConnection(uri); connection.connect(defUser, defPass); Assert.assertTrue(connection.isConnected()); Assert.assertEquals("1.2", connection.getVersion()); connection.disconnect(); connection = StompClientConnectionFactory.createClientConnection(uri); connection.connect(); Assert.assertFalse(connection.isConnected()); //new way of connection StompClientConnectionV11 conn = (StompClientConnectionV11) StompClientConnectionFactory.createClientConnection(v11Uri); conn.connect1(defUser, defPass); Assert.assertTrue(conn.isConnected()); conn.disconnect(); }
validatedUser = securityStore.authenticate(username, password, connection);
public void check(SimpleString address, CheckType checkType, SecurityAuth session) throws Exception { manager.getServer().getSecurityStore().check(address, checkType, session); }
@Override public void removeAddressInfo(final SimpleString address, final SecurityAuth auth, boolean force) throws Exception { if (auth != null) { securityStore.check(address, CheckType.DELETE_ADDRESS, auth); } AddressInfo addressInfo = getAddressInfo(address); if (postOffice.removeAddressInfo(address, force) == null) { throw ActiveMQMessageBundle.BUNDLE.addressDoesNotExist(address); } long txID = storageManager.generateID(); storageManager.deleteAddressBinding(txID, addressInfo.getId()); storageManager.commitBindings(txID); pagingManager.deletePageStore(address); }