Java 类javax.jms.JMSSecurityException 实例源码

项目:pooled-jms    文件:PooledConnectionSecurityExceptionTest.java   
@Test
public void testFailedCreateConsumerConnectionStillWorks() throws JMSException {
    Connection connection = pooledConnFact.createConnection("guest", "password");
    connection.start();

    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    Queue queue = session.createQueue(name.getMethodName());

    try {
        session.createConsumer(queue);
        fail("Should fail to create consumer");
    } catch (JMSSecurityException ex) {
        LOG.info("Caught expected security error");
    }

    queue = session.createQueue("GUESTS." + name.getMethodName());

    MessageProducer producer = session.createProducer(queue);
    producer.close();

    connection.close();
}
项目:pooled-jms    文件:MockJMSConnection.java   
private void ensureConnected() throws JMSException {
    if (isConnected() || closed.get()) {
        return;
    }

    synchronized(this.connectionId) {
        if (isConnected() || closed.get()) {
            return;
        }

        if (clientID == null || clientID.trim().isEmpty()) {
            throw new IllegalArgumentException("Client ID cannot be null or empty string");
        }

        if (!user.isValid()) {
            executor.shutdown();

            throw new JMSSecurityException(user.getFailureCause());
        }

        connected.set(true);
    }
}
项目:pooled-jms    文件:MockJMSConnectionFactory.java   
private MockJMSConnection createMockConnection(String username, String password) throws JMSException {
    MockJMSUser user = validateUser(username, password);

    if (!user.isValid() && !deferAuthenticationToConnection) {
        throw new JMSSecurityException(user.getFailureCause());
    }

    MockJMSConnection connection = new MockJMSConnection(user);

    if (clientID != null && !clientID.isEmpty()) {
        connection.setClientID(clientID, true);
    } else {
        connection.setClientID(UUID.randomUUID().toString(), false);
    }

    try {
        connection.initialize();
    } catch (JMSException e) {
        connection.close();
    }

    return connection;
}
项目:pooled-jms    文件:PooledConnectionSecurityExceptionTest.java   
@Test
public void testFailedConnectThenSucceeds() throws JMSException {
    Connection connection = pooledConnFact.createConnection("invalid", "credentials");

    try {
        connection.start();
        fail("Should fail to connect");
    } catch (JMSSecurityException ex) {
        LOG.info("Caught expected security error");
    }

    connection = pooledConnFact.createConnection("system", "manager");
    connection.start();

    LOG.info("Successfully create new connection.");

    connection.close();
}
项目:pooled-jms    文件:PooledConnectionSecurityExceptionTest.java   
@Test
public void testFailedConnectThenSucceedsWithListener() throws JMSException {
    Connection connection = pooledConnFact.createConnection("invalid", "credentials");
    connection.setExceptionListener(new ExceptionListener() {

        @Override
        public void onException(JMSException exception) {
            LOG.warn("Connection get error: {}", exception.getMessage());
        }
    });

    try {
        connection.start();
        fail("Should fail to connect");
    } catch (JMSSecurityException ex) {
        LOG.info("Caught expected security error");
    }

    connection = pooledConnFact.createConnection("system", "manager");
    connection.start();

    LOG.info("Successfully create new connection.");

    connection.close();
}
项目:pooled-jms    文件:PooledConnectionSecurityExceptionTest.java   
@Test
public void testFailoverWithInvalidCredentialsCanConnect() throws JMSException {

    ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory(
        "failover:(" + connectionURI + ")");

    pooledConnFact = new JmsPoolConnectionFactory();
    pooledConnFact.setConnectionFactory(cf);
    pooledConnFact.setMaxConnections(1);

    Connection connection = pooledConnFact.createConnection("invalid", "credentials");

    try {
        connection.start();
        fail("Should fail to connect");
    } catch (JMSSecurityException ex) {
        LOG.info("Caught expected security error");
    }

    connection = pooledConnFact.createConnection("system", "manager");
    connection.start();

    LOG.info("Successfully create new connection.");

    connection.close();
}
项目:activemq-artemis    文件:AutoCreateJmsDestinationTest.java   
@Test
public void testAutoCreateOnSendToQueueSecurity() throws Exception {
   ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addUser("guest", "guest");
   ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().setDefaultUser("guest");
   ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("guest", "rejectAll");
   Role role = new Role("rejectAll", false, false, false, false, false, false, false, false, false, false);
   Set<Role> roles = new HashSet<>();
   roles.add(role);
   server.getSecurityRepository().addMatch("#", roles);
   Connection connection = cf.createConnection();
   Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

   javax.jms.Queue queue = ActiveMQJMSClient.createQueue(QUEUE_NAME);

   try {
      session.createProducer(queue);
      Assert.fail("Sending a message here should throw a JMSSecurityException");
   } catch (Exception e) {
      Assert.assertTrue(e instanceof JMSSecurityException);
   }

   connection.close();
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testRepeatedWrongPasswordAttempts() throws Exception {
   for (int i = 0; i < 25; ++i) {
      Connection connection = null;
      try {
         connection = createConnection(fullUser, "wrongPassword", null, false);
         connection.start();
         fail("Expected JMSException");
      } catch (JMSSecurityException ex) {
         IntegrationTestLogger.LOGGER.debug("Failed to authenticate connection with incorrect password.");
      } finally {
         if (connection != null) {
            connection.close();
         }
      }
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testConsumerNotAuthorized() throws Exception {
   Connection connection = createConnection(noprivUser, noprivPass);

   try {
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
      javax.jms.Queue queue = session.createQueue(getQueueName());
      try {
         session.createConsumer(queue);
         fail("Should not be able to consume here.");
      } catch (JMSSecurityException jmsSE) {
         IntegrationTestLogger.LOGGER.info("Caught expected exception");
      }
   } finally {
      connection.close();
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testBrowserNotAuthorized() throws Exception {
   Connection connection = createConnection(noprivUser, noprivPass);

   try {
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
      javax.jms.Queue queue = session.createQueue(getQueueName());
      try {
         QueueBrowser browser = session.createBrowser(queue);
         // Browser is not created until an enumeration is requesteda
         browser.getEnumeration();
         fail("Should not be able to consume here.");
      } catch (JMSSecurityException jmsSE) {
         IntegrationTestLogger.LOGGER.info("Caught expected exception");
      }
   } finally {
      connection.close();
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testConsumerNotAuthorizedToCreateQueues() throws Exception {
   Connection connection = createConnection(noprivUser, noprivPass);

   try {
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
      javax.jms.Queue queue = session.createQueue(getQueueName(getPrecreatedQueueSize() + 1));
      try {
         session.createConsumer(queue);
         fail("Should not be able to consume here.");
      } catch (JMSSecurityException jmsSE) {
         IntegrationTestLogger.LOGGER.info("Caught expected exception");
      }
   } finally {
      connection.close();
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testProducerNotAuthorized() throws Exception {
   Connection connection = createConnection(guestUser, guestPass);

   try {
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
      javax.jms.Queue queue = session.createQueue(getQueueName());
      try {
         session.createProducer(queue);
         fail("Should not be able to produce here.");
      } catch (JMSSecurityException jmsSE) {
         IntegrationTestLogger.LOGGER.info("Caught expected exception");
      }
   } finally {
      connection.close();
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testAnonymousProducerNotAuthorized() throws Exception {
   Connection connection = createConnection(guestUser, guestPass);

   try {
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
      javax.jms.Queue queue = session.createQueue(getQueueName());
      MessageProducer producer = session.createProducer(null);

      try {
         producer.send(queue, session.createTextMessage());
         fail("Should not be able to produce here.");
      } catch (JMSSecurityException jmsSE) {
         IntegrationTestLogger.LOGGER.info("Caught expected exception");
      }
   } finally {
      connection.close();
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testCreateTemporaryQueueNotAuthorized() throws JMSException {
   Connection connection = createConnection(guestUser, guestPass);

   try {
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

      try {
         session.createTemporaryQueue();
      } catch (JMSSecurityException jmsse) {
         IntegrationTestLogger.LOGGER.info("Client should have thrown a JMSSecurityException but only threw JMSException");
      }

      // Should not be fatal
      assertNotNull(connection.createSession(false, Session.AUTO_ACKNOWLEDGE));
   } finally {
      connection.close();
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 30000)
public void testCreateTemporaryTopicNotAuthorized() throws JMSException {
   Connection connection = createConnection(guestUser, guestPass);

   try {
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

      try {
         session.createTemporaryTopic();
      } catch (JMSSecurityException jmsse) {
         IntegrationTestLogger.LOGGER.info("Client should have thrown a JMSSecurityException but only threw JMSException");
      }

      // Should not be fatal
      assertNotNull(connection.createSession(false, Session.AUTO_ACKNOWLEDGE));
   } finally {
      connection.close();
   }
}
项目:qpid-jms    文件:SaslIntegrationTest.java   
private void doMechanismSelectedTestImpl(String username, String password, Symbol clientSelectedMech, Symbol[] serverMechs, boolean wait) throws Exception {
    try (TestAmqpPeer testPeer = new TestAmqpPeer();) {

        testPeer.expectFailingSaslAuthentication(serverMechs, clientSelectedMech);

        ConnectionFactory factory = new JmsConnectionFactory("amqp://localhost:" + testPeer.getServerPort() + "?jms.clientID=myclientid");
        try {
            factory.createConnection(username, password);
            fail("Excepted exception to be thrown");
        }catch (JMSSecurityException jmsse) {
            // Expected, we deliberately failed the SASL process,
            // we only wanted to verify the correct mechanism
            // was selected, other tests verify the remainder.

            LOG.info("Caught expected security exception: {}", jmsse.getMessage());
        }

        if (wait) {
            Thread.sleep(200);
        }

        testPeer.waitForAllHandlersToComplete(1000);
    }
}
项目:qpid-jms    文件:SaslIntegrationTest.java   
private void doMechanismSelectionRestrictedTestImpl(String username, String password, Symbol clientSelectedMech, Symbol[] serverMechs, String mechanismsOptionValue) throws Exception {
    try (TestAmqpPeer testPeer = new TestAmqpPeer();) {

        testPeer.expectFailingSaslAuthentication(serverMechs, clientSelectedMech);

        String uriOptions = "?jms.clientID=myclientid";
        if(mechanismsOptionValue != null) {
            uriOptions += "&amqp.saslMechanisms=" + mechanismsOptionValue;
        }

        ConnectionFactory factory = new JmsConnectionFactory("amqp://localhost:" + testPeer.getServerPort() + uriOptions);
        try {
            factory.createConnection(username, password);

            fail("Excepted exception to be thrown");
        }catch (JMSSecurityException jmsse) {
            // Expected, we deliberately failed the SASL process,
            // we only wanted to verify the correct mechanism
            // was selected, other tests verify the remainder.
        }

        testPeer.waitForAllHandlersToComplete(1000);
    }
}
项目:qpid-jms    文件:SaslGssApiIntegrationTest.java   
@Test(timeout = 20000)
public void testSaslGssApiKrbConfigError() throws Exception {
    final String loginConfigScope = "KRB5-CLIENT-DOES-NOT-EXIST";

    try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
        testPeer.expectSaslGSSAPIFail();

        String uriOptions = "?sasl.options.configScope=" + loginConfigScope + "&amqp.saslMechanisms=" + GSSAPI;
        ConnectionFactory factory = new JmsConnectionFactory("amqp://localhost:" + testPeer.getServerPort() + uriOptions);
        factory.createConnection();

        fail("Expect exception on no login config");
    } catch (JMSSecurityException expected) {
        assertTrue(expected.getMessage().contains(loginConfigScope));
    }
}
项目:qpid-jms    文件:SaslGssApiIntegrationTest.java   
private void doMechanismSelectedTestImpl(String username, String password, Symbol clientSelectedMech, Symbol[] serverMechs, boolean enableGssapiExplicitly) throws Exception {
    try (TestAmqpPeer testPeer = new TestAmqpPeer();) {

        testPeer.expectFailingSaslAuthentication(serverMechs, clientSelectedMech);

        String uriOptions = "?jms.clientID=myclientid";
        if(enableGssapiExplicitly) {
            uriOptions += "&amqp.saslMechanisms=PLAIN," + GSSAPI;
        }
        ConnectionFactory factory = new JmsConnectionFactory("amqp://localhost:" + testPeer.getServerPort() + uriOptions);

        try {
            factory.createConnection(username, password);
            fail("Excepted exception to be thrown");
        }catch (JMSSecurityException jmsse) {
            // Expected, we deliberately failed the SASL process,
            // we only wanted to verify the correct mechanism
            // was selected, other tests verify the remainder.

            LOG.info("Caught expected security exception: {}", jmsse.getMessage());
        }

        testPeer.waitForAllHandlersToComplete(1000);
    }
}
项目:qpid-jms    文件:JmsContextTest.java   
@Test
public void testContextClosePreservesSessionCloseException() throws JMSException {
    JmsConnection connection = Mockito.mock(JmsConnection.class);
    JmsSession session = Mockito.mock(JmsSession.class);
    Mockito.when(connection.createSession(Mockito.anyInt())).thenReturn(session);
    JmsContext context = new JmsContext(connection, JMSContext.AUTO_ACKNOWLEDGE);

    Mockito.doThrow(IllegalStateException.class).when(session).close();
    Mockito.doThrow(JMSSecurityException.class).when(connection).close();

    context.createTemporaryTopic();
    Mockito.verify(connection, Mockito.times(1)).createSession(JMSContext.AUTO_ACKNOWLEDGE);

    try {
        context.close();
        fail("Should throw ISRE");
    } catch (IllegalStateRuntimeException isre) {
    }
}
项目:qpid-jms    文件:JmsAnonymousProducerTest.java   
@Test(timeout = 30000)
public void testAnonymousProducerNotAuthorized() throws Exception {
    connection = createAmqpConnection("guest", "password");
    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    Queue queue = session.createQueue("USERS.txQueue");
    MessageProducer producer = session.createProducer(null);

    try {
        producer.send(queue, session.createTextMessage());
        fail("Should not be able to produce here.");
    } catch (JMSSecurityException jmsSE) {
        LOG.info("Caught expected exception");
    } catch (JMSException jms) {
        LOG.info("Caught expected exception");
    }
}
项目:hawtjms    文件:AmqpSaslAuthenticator.java   
/**
 * Process the SASL authentication cycle until such time as an outcome is
 * determine.  This method must be called by the managing entity until the
 * return value is true indicating a successful authentication or a
 * JMSSecurityException is thrown indicating that the handshake failed.
 *
 * @throws JMSSecurityException
 */
public boolean authenticate() throws JMSSecurityException {
    switch(sasl.getState()) {
        case PN_SASL_IDLE:
            handleSaslInit();
            break;
        case PN_SASL_STEP:
            handleSaslStep();
            break;
        case PN_SASL_FAIL:
            handleSaslFail();
            break;
        case PN_SASL_PASS:
            return true;
        default:
    }

    return false;
}
项目:hawtjms    文件:AmqpSaslAuthenticator.java   
private void handleSaslInit() throws JMSSecurityException {
    String[] remoteMechanisms = sasl.getRemoteMechanisms();
    if (remoteMechanisms != null && remoteMechanisms.length != 0) {
        mechanism = SaslMechanismFinder.findMatchingMechanism(remoteMechanisms);
        if (mechanism != null) {
            mechanism.setUsername(info.getUsername());
            mechanism.setPassword(info.getPassword());
            // TODO - set additional options from URI.
            // TODO - set a host value.

            sasl.setMechanisms(mechanism.getName());
            byte[] response = mechanism.getInitialResponse();
            if (response != null && response.length != 0) {
                sasl.send(response, 0, response.length);
            }
        } else {
            // TODO - Better error message.
            throw new JMSSecurityException("Could not find a matching SASL mechanism for the remote peer.");
        }
    }
}
项目:pooled-jms    文件:MockJMSUser.java   
public void checkCanProduce(MockJMSDestination destination) throws JMSSecurityException {
    if (destination == null) {
        if (isCanProducerAnonymously()) {
            return;
        } else {
           throw new JMSSecurityException("User " + username + " not allowed for create anonymous produders.");
        }
    }

    if (!isCanProduceAll() && !writableDestinations.contains(destination.getName())) {
        throw new JMSSecurityException("User " + username + " cannot read from destination: " + destination.getName());
    }
}
项目:pooled-jms    文件:JMSExceptionSupportTest.java   
@Test
public void testCreateUsesCauseIfJMSExceptionPresent() {
    IOException ioe = new IOException("Ignore me", new JMSSecurityException("error"));
    JMSException result = JMSExceptionSupport.create(ERROR_MESSAGE, ioe);
    assertNotNull(result);
    assertTrue(result instanceof JMSSecurityException);
}
项目:pooled-jms    文件:JmsPoolConnectionSecurityExceptionTest.java   
@Test
public void testConectionCreateAuthentication() throws JMSException {
    try {
        cf.createConnection("admin", "admin");
    } catch (JMSSecurityException jmsse) {
        fail("Should not be able to create connection using bad credentials");
    }

    assertEquals(1, cf.getNumConnections());
}
项目:pooled-jms    文件:JmsPoolConnectionSecurityExceptionTest.java   
@Test
public void testConectionCreateAuthenticationError() throws JMSException {
    try {
        cf.createConnection("guest", "guest");
        fail("Should not be able to create connection using bad credentials");
    } catch (JMSSecurityException jmsse) {}

    assertEquals(0, cf.getNumConnections());
}
项目:pooled-jms    文件:JmsPoolConnectionSecurityExceptionTest.java   
@Test
public void testFailedCreateConsumerConnectionStillWorks() throws JMSException {
    // User can write but not read
    user.setCanConsumeAll(false);

    Connection connection = null;

    try {
        connection = cf.createConnection("admin", "admin");
    } catch (JMSSecurityException jmsse) {
        fail("Should not be able to create connection using bad credentials");
    }

    connection.start();

    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    Queue queue = session.createQueue("test");

    try {
        session.createConsumer(queue);
        fail("Should fail to create consumer");
    } catch (JMSSecurityException ex) {
        LOG.debug("Caught expected security error");
    }

    MessageProducer producer = session.createProducer(queue);
    producer.close();

    connection.close();
}
项目:org.ops4j.pax.transx    文件:Utils.java   
public static JMSRuntimeException convertToRuntimeException(JMSException e) {
    if (e instanceof javax.jms.IllegalStateException) {
        return new IllegalStateRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof InvalidClientIDException) {
        return new InvalidClientIDRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof InvalidDestinationException) {
        return new InvalidDestinationRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof InvalidSelectorException) {
        return new InvalidSelectorRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof JMSSecurityException) {
        return new JMSSecurityRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof MessageFormatException) {
        return new MessageFormatRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof MessageNotWriteableException) {
        return new MessageNotWriteableRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof ResourceAllocationException) {
        return new ResourceAllocationRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof TransactionInProgressException) {
        return new TransactionInProgressRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    if (e instanceof TransactionRolledBackException) {
        return new TransactionRolledBackRuntimeException(e.getMessage(), e.getErrorCode(), e);
    }
    return new JMSRuntimeException(e.getMessage(), e.getErrorCode(), e);
}
项目:hono    文件:DeviceRegistrationIT.java   
/**
 * Verifies that the Device Registry rejects an unauthorized request to open a receiver
 * link for a tenant.
 * 
 * @throws JMSException if the test succeeds.
 */
@Test(expected = JMSSecurityException.class)
public void testOpenReceiverNotAllowedForOtherTenant() throws JMSException {

    final RegistrationTestSupport registrationForOtherTenant = client.getRegistrationTestSupport("someOtherTenant", false);
    registrationForOtherTenant.createConsumer();
}
项目:hono    文件:DeviceRegistrationIT.java   
/**
 * Verifies that the Device Registry rejects an unauthorized request to open a sender
 * link for a tenant.
 * 
 * @throws JMSException if the test succeeds.
 */
@Test(expected = JMSSecurityException.class)
public void testOpenSenderNotAllowedForOtherTenant() throws JMSException {

    final RegistrationTestSupport registrationForOtherTenant = client.getRegistrationTestSupport("someOtherTenant", false);
    registrationForOtherTenant.createProducer();
}
项目:amq-jdbc-security    文件:JdbcAuthenticationPluginTest.java   
public void testConnectionStartWithUnknownUserThrowsJMSSecurityException() throws Exception {

        Connection connection = factory.createConnection("badUser", "password");
        try {
            connection.start();
            fail("Should throw JMSSecurityException");
        } catch (JMSSecurityException jmsEx) {
        } catch (Exception e) {
            LOG.info("Expected JMSSecurityException but was: {}", e.getClass());
            fail("Should throw JMSSecurityException");
        }
    }
项目:amq-jdbc-security    文件:JdbcAuthenticationPluginTest.java   
public void testConnectionStartWithDisabledUserThrowsJMSSecurityException() throws Exception {

        Connection connection = factory.createConnection("disableduser", "password");
        try {
            connection.start();
            fail("Should throw JMSSecurityException");
        } catch (JMSSecurityException jmsEx) {
        } catch (Exception e) {
            LOG.info("Expected JMSSecurityException but was: {}", e.getClass());
            fail("Should throw JMSSecurityException");
        }
    }
项目:activemq-artemis    文件:JMSSecurityTest.java   
@Test
public void testCreateQueueConnection() throws Exception {
   ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager();
   securityManager.getConfiguration().addUser("IDo", "Exist");
   try {
      QueueConnection queueC = ((QueueConnectionFactory) cf).createQueueConnection("IDont", "Exist");
      fail("supposed to throw exception");
      queueC.close();
   } catch (JMSSecurityException e) {
      // expected
   }
   JMSContext ctx = cf.createContext("IDo", "Exist");
   ctx.close();
}
项目:activemq-artemis    文件:BasicSecurityTest.java   
@Test
public void testCreateTempDestinationAuthorization() throws Exception {
   Connection conn1 = null;
   Connection conn2 = null;

   //Sender
   try {
      conn1 = factory.createConnection("openwireGuest", "GuEsT");
      conn1.start();

      conn2 = factory.createConnection("openwireDestinationManager", "DeStInAtIoN");
      conn2.start();

      Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);

      try {
         session1.createTemporaryQueue();
         fail("user shouldn't be able to create temp queue");
      } catch (JMSSecurityException e) {
         //expected
      }

      Session session2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);

      TemporaryQueue q = session2.createTemporaryQueue();
      assertNotNull(q);
   } finally {
      if (conn1 != null) {
         conn1.close();
      }

      if (conn2 != null) {
         conn2.close();
      }
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 10000)
public void testNoUserOrPassword() throws Exception {
   Connection connection = null;
   try {
      connection = createConnection("", "", null, false);
      connection.start();
      fail("Expected JMSException");
   } catch (JMSSecurityException ex) {
      IntegrationTestLogger.LOGGER.debug("Failed to authenticate connection with no user / password.");
   } finally {
      if (connection != null) {
         connection.close();
      }
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 10000)
public void testUnknownUser() throws Exception {
   Connection connection = null;
   try {
      connection = createConnection("nosuchuser", "blah", null, false);
      connection.start();
      fail("Expected JMSException");
   } catch (JMSSecurityException ex) {
      IntegrationTestLogger.LOGGER.debug("Failed to authenticate connection with unknown user ID");
   } finally {
      if (connection != null) {
         connection.close();
      }
   }
}
项目:activemq-artemis    文件:JMSConnectionWithSecurityTest.java   
@Test(timeout = 10000)
public void testKnownUserWrongPassword() throws Exception {
   Connection connection = null;
   try {
      connection = createConnection(fullUser, "wrongPassword", null, false);
      connection.start();
      fail("Expected JMSException");
   } catch (JMSSecurityException ex) {
      IntegrationTestLogger.LOGGER.debug("Failed to authenticate connection with incorrect password.");
   } finally {
      if (connection != null) {
         connection.close();
      }
   }
}
项目:activemq-artemis    文件:JMSSaslGssapiTest.java   
@Test(timeout = 600000)
public void testSaslPlainConnectionDenied() throws Exception {

   JmsConnectionFactory factory = new JmsConnectionFactory(new URI("amqp://localhost:" + AMQP_PORT + "?amqp.saslMechanisms=PLAIN"));
   try {
      factory.createConnection("plain", "secret");
      fail("Expect sasl failure");
   } catch (JMSSecurityException expected) {
      assertTrue(expected.getMessage().contains("SASL"));
   }
}
项目:activemq-artemis    文件:SimpleAuthenticationPluginTest.java   
public void testConnectionStartThrowsJMSSecurityException() throws Exception {

      Connection connection = factory.createConnection("badUser", "password");
      try {
         connection.start();
         fail("Should throw JMSSecurityException");
      } catch (JMSSecurityException jmsEx) {
      } catch (Exception e) {
         LOG.info("Expected JMSSecurityException but was: {}", e.getClass());
         fail("Should throw JMSSecurityException");
      }
   }