Here are the examples of the java api class org.apache.activemq.artemis.core.security.Role taken from open source projects.
1. SecurityTest#testNonBlockSendManagementWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testNonBlockSendManagementWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(configuration.getManagementAddress().toString(), roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(configuration.getManagementAddress().toString(), SecurityTest.queueA, true); ClientProducer cp = session.createProducer(configuration.getManagementAddress()); cp.send(session.createMessage(false)); session.close(); Queue binding = (Queue) server.getPostOffice().getBinding(new SimpleString(SecurityTest.queueA)).getBindable(); Assert.assertEquals(0, getMessageCount(binding)); }
2. SecurityTest#testSendManagementWithRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testSendManagementWithRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, false, false, false, false, true); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(configuration.getManagementAddress().toString(), roles); securityManager.getConfiguration().addRole("auser", "arole"); locator.setBlockOnNonDurableSend(true); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); ClientProducer cp = session.createProducer(configuration.getManagementAddress()); cp.send(session.createMessage(false)); session.close(); }
3. SecurityTest#testNonBlockSendWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testNonBlockSendWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = session.createProducer(SecurityTest.addressA); cp.send(session.createMessage(false)); session.close(); Queue binding = (Queue) server.getPostOffice().getBinding(new SimpleString(SecurityTest.queueA)).getBindable(); Assert.assertEquals(0, getMessageCount(binding)); }
4. SecurityTest#testDeleteTempQueueWithRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testDeleteTempQueueWithRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, false, false, true, true, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, false); session.deleteQueue(SecurityTest.queueA); session.close(); }
5. SecurityTest#testCreateTempQueueWithRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testCreateTempQueueWithRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, false, false, true, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, false); session.close(); }
6. SecurityTest#testDeleteDurableQueueWithRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testDeleteDurableQueueWithRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, true, true, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); session.deleteQueue(SecurityTest.queueA); session.close(); }
7. SecurityTest#testCreateDurableQueueWithRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testCreateDurableQueueWithRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); session.close(); }
8. OutgoingConnectionTestJTA#setUp()
Project: activemq-artemis
File: OutgoingConnectionTestJTA.java
File: OutgoingConnectionTestJTA.java
@Override @Before public void setUp() throws Exception { useDummyTransactionManager(); super.setUp(); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addUser("testuser", "testpassword"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addUser("guest", "guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().setDefaultUser("guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("testuser", "arole"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("guest", "arole"); Role role = new Role("arole", true, true, true, true, true, true, true); Set<Role> roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); resourceAdapter = new ActiveMQResourceAdapter(); resourceAdapter.setEntries("[\"java://jmsXA\"]"); resourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName()); MyBootstrapContext ctx = new MyBootstrapContext(); resourceAdapter.start(ctx); mcf = new ActiveMQRAManagedConnectionFactory(); mcf.setResourceAdapter(resourceAdapter); qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); }
9. OutgoingConnectionTest#setUp()
Project: activemq-artemis
File: OutgoingConnectionTest.java
File: OutgoingConnectionTest.java
@Override @Before public void setUp() throws Exception { super.setUp(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("testuser", "testpassword"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); securityManager.getConfiguration().addRole("testuser", "arole"); securityManager.getConfiguration().addRole("guest", "arole"); Role role = new Role("arole", true, true, true, true, true, true, true); Set<Role> roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); resourceAdapter = new ActiveMQResourceAdapter(); resourceAdapter.setEntries("[\"java://jmsXA\"]"); resourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName()); MyBootstrapContext ctx = new MyBootstrapContext(); resourceAdapter.start(ctx); mcf = new ActiveMQRAManagedConnectionFactory(); mcf.setResourceAdapter(resourceAdapter); qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); }
10. JMSContextTest#setUp()
Project: activemq-artemis
File: JMSContextTest.java
File: JMSContextTest.java
@Override @Before public void setUp() throws Exception { useDummyTransactionManager(); super.setUp(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("testuser", "testpassword"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); securityManager.getConfiguration().addRole("testuser", "arole"); securityManager.getConfiguration().addRole("guest", "arole"); Role role = new Role("arole", true, true, true, true, true, true, true); Set<Role> roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); resourceAdapter = new ActiveMQResourceAdapter(); resourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName()); MyBootstrapContext ctx = new MyBootstrapContext(); resourceAdapter.start(ctx); ActiveMQRAManagedConnectionFactory mcf = new ActiveMQRAManagedConnectionFactory(); mcf.setResourceAdapter(resourceAdapter); qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); }
11. AutoCreateJmsDestinationTest#setUp()
Project: activemq-artemis
File: AutoCreateJmsDestinationTest.java
File: AutoCreateJmsDestinationTest.java
@Before @Override public void setUp() throws Exception { super.setUp(); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addUser("guest", "guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().setDefaultUser("guest"); ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addRole("guest", "allowAll"); Role role = new Role("allowAll", true, true, true, true, true, true, true); Set<Role> roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch("#", roles); }
12. ActiveMQJAASSecurityManager#getPrincipalsInRole()
Project: activemq-artemis
File: ActiveMQJAASSecurityManager.java
File: ActiveMQJAASSecurityManager.java
private Set<RolePrincipal> getPrincipalsInRole(final CheckType checkType, final Set<Role> roles) { Set principals = new HashSet<>(); for (Role role : roles) { if (checkType.hasRole(role)) { try { principals.add(createGroupPrincipal(role.getName(), rolePrincipalClass)); } catch (Exception e) { logger.info("Can't add role principal", e); } } } return principals; }
13. SecurityTest#testSendMessageUpdateSender()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testSendMessageUpdateSender() throws Exception { Configuration configuration = createDefaultInVMConfig().setSecurityEnabled(true).setSecurityInvalidationInterval(-1); ActiveMQServer server = createServer(false, configuration); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); Role role = new Role("arole", false, false, false, false, false, false, false); System.out.println("guest:" + role); Role sendRole = new Role("guest", true, false, true, false, false, false, false); System.out.println("guest:" + sendRole); Role receiveRole = new Role("receiver", false, true, false, false, false, false, false); System.out.println("guest:" + receiveRole); Set<Role> roles = new HashSet<>(); roles.add(sendRole); roles.add(role); roles.add(receiveRole); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession senSession = cf.createSession(false, true, true); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); senSession.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = senSession.createProducer(SecurityTest.addressA); cp.send(session.createMessage(false)); try { session.createConsumer(SecurityTest.queueA); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } securityManager.getConfiguration().addRole("auser", "receiver"); session.createConsumer(SecurityTest.queueA); // Removing the Role... the check should be cached... but we used // setSecurityInvalidationInterval(0), so the // next createConsumer should fail securityManager.getConfiguration().removeRole("auser", "guest"); ClientSession sendingSession = cf.createSession("auser", "pass", false, false, false, false, 0); ClientProducer prod = sendingSession.createProducer(SecurityTest.addressA); prod.send(CreateMessage.createTextMessage(sendingSession, "Test", true)); prod.send(CreateMessage.createTextMessage(sendingSession, "Test", true)); try { sendingSession.commit(); Assert.fail("Expected exception"); } catch (ActiveMQException e) { } sendingSession.close(); Xid xid = newXID(); sendingSession = cf.createSession("auser", "pass", true, false, false, false, 0); sendingSession.start(xid, XAResource.TMNOFLAGS); prod = sendingSession.createProducer(SecurityTest.addressA); prod.send(CreateMessage.createTextMessage(sendingSession, "Test", true)); prod.send(CreateMessage.createTextMessage(sendingSession, "Test", true)); sendingSession.end(xid, XAResource.TMSUCCESS); try { sendingSession.prepare(xid); Assert.fail("Exception was expected"); } catch (Exception e) { e.printStackTrace(); } // A prepare shouldn't mark any recoverable resources Xid[] xids = sendingSession.recover(XAResource.TMSTARTRSCAN); Assert.assertEquals(0, xids.length); session.close(); senSession.close(); sendingSession.close(); }
14. SecurityTest#testSendMessageUpdateRoleCached2()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testSendMessageUpdateRoleCached2() throws Exception { Configuration configuration = createDefaultInVMConfig().setSecurityEnabled(true).setSecurityInvalidationInterval(0); ActiveMQServer server = createServer(false, configuration); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); Role role = new Role("arole", false, false, false, false, false, false, false); Role sendRole = new Role("guest", true, false, true, false, false, false, false); Role receiveRole = new Role("receiver", false, true, false, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(sendRole); roles.add(role); roles.add(receiveRole); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession senSession = cf.createSession(false, true, true); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); senSession.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = senSession.createProducer(SecurityTest.addressA); cp.send(session.createMessage(false)); try { session.createConsumer(SecurityTest.queueA); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } securityManager.getConfiguration().addRole("auser", "receiver"); session.createConsumer(SecurityTest.queueA); // Removing the Role... the check should be cached... but we used // setSecurityInvalidationInterval(0), so the // next createConsumer should fail securityManager.getConfiguration().removeRole("auser", "receiver"); try { session.createConsumer(SecurityTest.queueA); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); senSession.close(); }
15. SecurityTest#testSendMessageUpdateRoleCached()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testSendMessageUpdateRoleCached() throws Exception { Configuration configuration = createDefaultInVMConfig().setSecurityEnabled(true).setSecurityInvalidationInterval(10000); ActiveMQServer server = createServer(false, configuration); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); Role role = new Role("arole", false, false, false, false, false, false, false); Role sendRole = new Role("guest", true, false, true, false, false, false, false); Role receiveRole = new Role("receiver", false, true, false, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(sendRole); roles.add(role); roles.add(receiveRole); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession senSession = cf.createSession(false, true, true); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); senSession.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = senSession.createProducer(SecurityTest.addressA); cp.send(session.createMessage(false)); try { session.createConsumer(SecurityTest.queueA); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } securityManager.getConfiguration().addRole("auser", "receiver"); session.createConsumer(SecurityTest.queueA); // Removing the Role... the check should be cached, so the next createConsumer shouldn't fail securityManager.getConfiguration().removeRole("auser", "receiver"); session.createConsumer(SecurityTest.queueA); session.close(); senSession.close(); }
16. DualAuthenticationTest#setUp()
Project: activemq-artemis
File: DualAuthenticationTest.java
File: DualAuthenticationTest.java
@Override @Before public void setUp() throws Exception { super.setUp(); Map<String, Object> params = new HashMap<>(); params.put(TransportConstants.SSL_ENABLED_PROP_NAME, true); params.put(TransportConstants.KEYSTORE_PATH_PROP_NAME, SERVER_SIDE_KEYSTORE); params.put(TransportConstants.KEYSTORE_PASSWORD_PROP_NAME, PASSWORD); params.put(TransportConstants.TRUSTSTORE_PATH_PROP_NAME, SERVER_SIDE_TRUSTSTORE); params.put(TransportConstants.TRUSTSTORE_PASSWORD_PROP_NAME, PASSWORD); params.put(TransportConstants.NEED_CLIENT_AUTH_PROP_NAME, true); params.put(TransportConstants.PORT_PROP_NAME, "61617"); ConfigurationImpl config = createBasicConfig(); config.addAcceptorConfiguration(new TransportConfiguration(NETTY_ACCEPTOR_FACTORY, params)); config.addAcceptorConfiguration(new TransportConfiguration(NETTY_ACCEPTOR_FACTORY)); config.setSecurityEnabled(true); ActiveMQSecurityManager securityManager = new ActiveMQJAASSecurityManager("DualAuthenticationPropertiesLogin", "DualAuthenticationCertLogin"); server = addServer(ActiveMQServers.newActiveMQServer(config, ManagementFactory.getPlatformMBeanServer(), securityManager, false)); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); Role sendRole = new Role("producers", true, false, true, false, true, false, false); Role receiveRole = new Role("consumers", false, true, false, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(sendRole); roles.add(receiveRole); securityRepository.addMatch(DualAuthenticationTest.QUEUE.toString(), roles); server.start(); waitForServerToStart(server); tc = new TransportConfiguration(NETTY_CONNECTOR_FACTORY); }
17. SecurityTest#testCreateConsumerWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testCreateConsumerWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); Role role = new Role("arole", false, false, false, false, false, false, false); Role sendRole = new Role("guest", true, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(sendRole); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession senSession = cf.createSession(false, true, true); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); senSession.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = senSession.createProducer(SecurityTest.addressA); cp.send(session.createMessage(false)); try { session.createConsumer(SecurityTest.queueA); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); senSession.close(); }
18. SecurityTest#testCreateConsumerWithRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testCreateConsumerWithRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().addRole("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); Role role = new Role("arole", false, true, false, false, false, false, false); Role sendRole = new Role("guest", true, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(sendRole); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession senSession = cf.createSession(false, true, true); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); senSession.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = senSession.createProducer(SecurityTest.addressA); cp.send(session.createMessage(false)); session.createConsumer(SecurityTest.queueA); session.close(); senSession.close(); }
19. SecurityTest#testSendWithRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testSendWithRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", true, true, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); locator.setBlockOnNonDurableSend(true); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = session.createProducer(SecurityTest.addressA); cp.send(session.createMessage(false)); session.start(); ClientConsumer cons = session.createConsumer(queueA); ClientMessage receivedMessage = cons.receive(5000); assertNotNull(receivedMessage); receivedMessage.acknowledge(); role = new Role("arole", false, false, true, false, false, false, false); roles = new HashSet<>(); roles.add(role); // This was added to validate https://issues.jboss.org/browse/SOA-3363 securityRepository.addMatch(SecurityTest.addressA, roles); boolean failed = false; try { cp.send(session.createMessage(true)); } catch (ActiveMQException e) { failed = true; } // This was added to validate https://issues.jboss.org/browse/SOA-3363 ^^^^^ assertTrue("Failure expected on send after removing the match", failed); }
20. SecurityTest#_testComplexRoles2()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
public void _testComplexRoles2() throws Exception { ActiveMQServer server = createServer(); server.start(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("all", "all"); securityManager.getConfiguration().addUser("bill", "activemq"); securityManager.getConfiguration().addUser("andrew", "activemq1"); securityManager.getConfiguration().addUser("frank", "activemq2"); securityManager.getConfiguration().addUser("sam", "activemq3"); securityManager.getConfiguration().addRole("all", "all"); securityManager.getConfiguration().addRole("bill", "user"); securityManager.getConfiguration().addRole("andrew", "europe-user"); securityManager.getConfiguration().addRole("andrew", "user"); securityManager.getConfiguration().addRole("frank", "us-user"); securityManager.getConfiguration().addRole("frank", "news-user"); securityManager.getConfiguration().addRole("frank", "user"); securityManager.getConfiguration().addRole("sam", "news-user"); securityManager.getConfiguration().addRole("sam", "user"); Role all = new Role("all", true, true, true, true, true, true, true); HierarchicalRepository<Set<Role>> repository = server.getSecurityRepository(); Set<Role> add = new HashSet<>(); add.add(new Role("user", true, true, true, true, true, true, false)); add.add(all); repository.addMatch("#", add); Set<Role> add1 = new HashSet<>(); add1.add(all); add1.add(new Role("user", false, false, true, true, true, true, false)); add1.add(new Role("europe-user", true, false, false, false, false, false, false)); add1.add(new Role("news-user", false, true, false, false, false, false, false)); repository.addMatch("news.europe.#", add1); Set<Role> add2 = new HashSet<>(); add2.add(all); add2.add(new Role("user", false, false, true, true, true, true, false)); add2.add(new Role("us-user", true, false, false, false, false, false, false)); add2.add(new Role("news-user", false, true, false, false, false, false, false)); repository.addMatch("news.us.#", add2); ClientSession billConnection = null; ClientSession andrewConnection = null; ClientSession frankConnection = null; ClientSession samConnection = null; ClientSessionFactory factory = createSessionFactory(locator); factory.getServerLocator().setBlockOnNonDurableSend(true).setBlockOnDurableSend(true); ClientSession adminSession = factory.createSession("all", "all", false, true, true, false, -1); String genericQueueName = "genericQueue"; adminSession.createQueue(genericQueueName, genericQueueName, false); String eurQueueName = "news.europe.europeQueue"; adminSession.createQueue(eurQueueName, eurQueueName, false); String usQueueName = "news.us.usQueue"; adminSession.createQueue(usQueueName, usQueueName, false); // Step 4. Try to create a JMS Connection without user/password. It will fail. try { factory.createSession(false, true, true); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } // Step 5. bill tries to make a connection using wrong password try { billConnection = factory.createSession("bill", "activemq1", false, true, true, false, -1); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } // Step 6. bill makes a good connection. billConnection = factory.createSession("bill", "activemq", false, true, true, false, -1); // Step 7. andrew makes a good connection. andrewConnection = factory.createSession("andrew", "activemq1", false, true, true, false, -1); // Step 8. frank makes a good connection. frankConnection = factory.createSession("frank", "activemq2", false, true, true, false, -1); // Step 9. sam makes a good connection. samConnection = factory.createSession("sam", "activemq3", false, true, true, false, -1); checkUserSendAndReceive(genericQueueName, billConnection); checkUserSendAndReceive(genericQueueName, andrewConnection); checkUserSendAndReceive(genericQueueName, frankConnection); checkUserSendAndReceive(genericQueueName, samConnection); // Step 11. Check permissions on news.europe.europeTopic for bill: can't send and can't // receive checkUserNoSendNoReceive(eurQueueName, billConnection, adminSession); // Step 12. Check permissions on news.europe.europeTopic for andrew: can send but can't // receive checkUserSendNoReceive(eurQueueName, andrewConnection); // Step 13. Check permissions on news.europe.europeTopic for frank: can't send but can // receive checkUserReceiveNoSend(eurQueueName, frankConnection, adminSession); // Step 14. Check permissions on news.europe.europeTopic for sam: can't send but can // receive checkUserReceiveNoSend(eurQueueName, samConnection, adminSession); // Step 15. Check permissions on news.us.usTopic for bill: can't send and can't receive checkUserNoSendNoReceive(usQueueName, billConnection, adminSession); // Step 16. Check permissions on news.us.usTopic for andrew: can't send and can't receive checkUserNoSendNoReceive(usQueueName, andrewConnection, adminSession); // Step 17. Check permissions on news.us.usTopic for frank: can both send and receive checkUserSendAndReceive(usQueueName, frankConnection); // Step 18. Check permissions on news.us.usTopic for same: can't send but can receive checkUserReceiveNoSend(usQueueName, samConnection, adminSession); }
21. SecurityTest#testComplexRoles()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testComplexRoles() throws Exception { ActiveMQServer server = createServer(); server.start(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("all", "all"); securityManager.getConfiguration().addUser("bill", "activemq"); securityManager.getConfiguration().addUser("andrew", "activemq1"); securityManager.getConfiguration().addUser("frank", "activemq2"); securityManager.getConfiguration().addUser("sam", "activemq3"); securityManager.getConfiguration().addRole("all", "all"); securityManager.getConfiguration().addRole("bill", "user"); securityManager.getConfiguration().addRole("andrew", "europe-user"); securityManager.getConfiguration().addRole("andrew", "user"); securityManager.getConfiguration().addRole("frank", "us-user"); securityManager.getConfiguration().addRole("frank", "news-user"); securityManager.getConfiguration().addRole("frank", "user"); securityManager.getConfiguration().addRole("sam", "news-user"); securityManager.getConfiguration().addRole("sam", "user"); Role all = new Role("all", true, true, true, true, true, true, true); HierarchicalRepository<Set<Role>> repository = server.getSecurityRepository(); Set<Role> add = new HashSet<>(); add.add(new Role("user", true, true, true, true, true, true, false)); add.add(all); repository.addMatch("#", add); Set<Role> add1 = new HashSet<>(); add1.add(all); add1.add(new Role("user", false, false, true, true, true, true, false)); add1.add(new Role("europe-user", true, false, false, false, false, false, false)); add1.add(new Role("news-user", false, true, false, false, false, false, false)); repository.addMatch("news.europe.#", add1); Set<Role> add2 = new HashSet<>(); add2.add(all); add2.add(new Role("user", false, false, true, true, true, true, false)); add2.add(new Role("us-user", true, false, false, false, false, false, false)); add2.add(new Role("news-user", false, true, false, false, false, false, false)); repository.addMatch("news.us.#", add2); ClientSession billConnection = null; ClientSession andrewConnection = null; ClientSession frankConnection = null; ClientSession samConnection = null; locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true); ClientSessionFactory factory = createSessionFactory(locator); ClientSession adminSession = factory.createSession("all", "all", false, true, true, false, -1); String genericQueueName = "genericQueue"; adminSession.createQueue(genericQueueName, genericQueueName, false); String eurQueueName = "news.europe.europeQueue"; adminSession.createQueue(eurQueueName, eurQueueName, false); String usQueueName = "news.us.usQueue"; adminSession.createQueue(usQueueName, usQueueName, false); // Step 4. Try to create a JMS Connection without user/password. It will fail. try { factory.createSession(false, true, true); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } // Step 5. bill tries to make a connection using wrong password try { billConnection = factory.createSession("bill", "activemq1", false, true, true, false, -1); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } // Step 6. bill makes a good connection. billConnection = factory.createSession("bill", "activemq", false, true, true, false, -1); // Step 7. andrew makes a good connection. andrewConnection = factory.createSession("andrew", "activemq1", false, true, true, false, -1); // Step 8. frank makes a good connection. frankConnection = factory.createSession("frank", "activemq2", false, true, true, false, -1); // Step 9. sam makes a good connection. samConnection = factory.createSession("sam", "activemq3", false, true, true, false, -1); checkUserSendAndReceive(genericQueueName, billConnection); checkUserSendAndReceive(genericQueueName, andrewConnection); checkUserSendAndReceive(genericQueueName, frankConnection); checkUserSendAndReceive(genericQueueName, samConnection); // Step 11. Check permissions on news.europe.europeTopic for bill: can't send and can't // receive checkUserNoSendNoReceive(eurQueueName, billConnection, adminSession); // Step 12. Check permissions on news.europe.europeTopic for andrew: can send but can't // receive checkUserSendNoReceive(eurQueueName, andrewConnection); // Step 13. Check permissions on news.europe.europeTopic for frank: can't send but can // receive checkUserReceiveNoSend(eurQueueName, frankConnection, adminSession); // Step 14. Check permissions on news.europe.europeTopic for sam: can't send but can // receive checkUserReceiveNoSend(eurQueueName, samConnection, adminSession); // Step 15. Check permissions on news.us.usTopic for bill: can't send and can't receive checkUserNoSendNoReceive(usQueueName, billConnection, adminSession); // Step 16. Check permissions on news.us.usTopic for andrew: can't send and can't receive checkUserNoSendNoReceive(usQueueName, andrewConnection, adminSession); // Step 17. Check permissions on news.us.usTopic for frank: can both send and receive checkUserSendAndReceive(usQueueName, frankConnection); // Step 18. Check permissions on news.us.usTopic for same: can't send but can receive checkUserReceiveNoSend(usQueueName, samConnection, adminSession); billConnection.close(); andrewConnection.close(); frankConnection.close(); samConnection.close(); adminSession.close(); }
22. SecurityTest#testSendManagementWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testSendManagementWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(configuration.getManagementAddress().toString(), roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(configuration.getManagementAddress().toString(), SecurityTest.queueA, true); ClientProducer cp = session.createProducer(configuration.getManagementAddress()); cp.send(session.createMessage(false)); try { cp.send(session.createMessage(false)); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
23. SecurityTest#testSendWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testSendWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); locator.setBlockOnNonDurableSend(true); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); ClientProducer cp = session.createProducer(SecurityTest.addressA); try { cp.send(session.createMessage(false)); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
24. SecurityTest#testDeleteTempQueueWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testDeleteTempQueueWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, false, false, true, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, false); try { session.deleteQueue(SecurityTest.queueA); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
25. SecurityTest#testCreateTempQueueWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testCreateTempQueueWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, false, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); try { session.createQueue(SecurityTest.addressA, SecurityTest.queueA, false); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
26. SecurityTest#testDeleteDurableQueueWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testDeleteDurableQueueWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, true, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); session.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); try { session.deleteQueue(SecurityTest.queueA); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
27. SecurityTest#testCreateDurableQueueWithoutRole()
Project: activemq-artemis
File: SecurityTest.java
File: SecurityTest.java
@Test public void testCreateDurableQueueWithoutRole() throws Exception { ActiveMQServer server = createServer(); server.start(); HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("auser", "pass"); Role role = new Role("arole", false, false, false, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); securityRepository.addMatch(SecurityTest.addressA, roles); securityManager.getConfiguration().addRole("auser", "arole"); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession("auser", "pass", false, true, true, false, -1); try { session.createQueue(SecurityTest.addressA, SecurityTest.queueA, true); Assert.fail("should throw exception"); } catch (ActiveMQSecurityException se) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
28. ActiveMQMessageHandlerSecurityTest#testSimpleMessageReceivedOnQueueWithSecuritySucceeds()
Project: activemq-artemis
File: ActiveMQMessageHandlerSecurityTest.java
File: ActiveMQMessageHandlerSecurityTest.java
@Test public void testSimpleMessageReceivedOnQueueWithSecuritySucceeds() throws Exception { ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("testuser", "testpassword"); securityManager.getConfiguration().addRole("testuser", "arole"); Role role = new Role("arole", false, true, false, false, false, false, false); Set<Role> roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles); ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter(); MyBootstrapContext ctx = new MyBootstrapContext(); qResourceAdapter.start(ctx); ActiveMQActivationSpec spec = new ActiveMQActivationSpec(); spec.setResourceAdapter(qResourceAdapter); spec.setUseJNDI(false); spec.setDestinationType("javax.jms.Queue"); spec.setDestination(MDBQUEUE); spec.setUser("testuser"); spec.setPassword("testpassword"); spec.setSetupAttempts(0); qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY); CountDownLatch latch = new CountDownLatch(1); DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch); DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); Binding binding = server.getPostOffice().getBinding(MDBQUEUEPREFIXEDSIMPLE); assertEquals(((LocalQueueBinding) binding).getQueue().getConsumerCount(), 15); qResourceAdapter.endpointDeactivation(endpointFactory, spec); qResourceAdapter.stop(); }
29. SecurityNotificationTest#setUp()
Project: activemq-artemis
File: SecurityNotificationTest.java
File: SecurityNotificationTest.java
// Package protected --------------------------------------------- // Protected ----------------------------------------------------- @Override @Before public void setUp() throws Exception { super.setUp(); Configuration config = createDefaultInVMConfig().setSecurityEnabled(true); server = addServer(ActiveMQServers.newActiveMQServer(config, false)); server.start(); notifQueue = RandomUtil.randomSimpleString(); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addUser("admin", "admin"); securityManager.getConfiguration().addUser("guest", "guest"); securityManager.getConfiguration().setDefaultUser("guest"); Role role = new Role("notif", true, true, true, true, true, true, true); Set<Role> roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(ActiveMQDefaultConfiguration.getDefaultManagementNotificationAddress().toString(), roles); securityManager.getConfiguration().addRole("admin", "notif"); ServerLocator locator = createInVMNonHALocator(); ClientSessionFactory sf = createSessionFactory(locator); adminSession = sf.createSession("admin", "admin", false, true, true, false, 1); adminSession.start(); adminSession.createTemporaryQueue(ActiveMQDefaultConfiguration.getDefaultManagementNotificationAddress(), notifQueue); notifConsumer = adminSession.createConsumer(notifQueue); }
30. SecurityNotificationTest#testSECURITY_PERMISSION_VIOLATION()
Project: activemq-artemis
File: SecurityNotificationTest.java
File: SecurityNotificationTest.java
@Test public void testSECURITY_PERMISSION_VIOLATION() throws Exception { SimpleString queue = RandomUtil.randomSimpleString(); SimpleString address = RandomUtil.randomSimpleString(); // guest can not create queue Role role = new Role("roleCanNotCreateQueue", true, true, false, true, false, true, true); Set<Role> roles = new HashSet<>(); roles.add(role); server.getSecurityRepository().addMatch(address.toString(), roles); ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getSecurityManager(); securityManager.getConfiguration().addRole("guest", "roleCanNotCreateQueue"); SecurityNotificationTest.flush(notifConsumer); ServerLocator locator = createInVMNonHALocator(); ClientSessionFactory sf = createSessionFactory(locator); ClientSession guestSession = sf.createSession("guest", "guest", false, true, true, false, 1); try { guestSession.createQueue(address, queue, true); Assert.fail("session creation must fail and a notification of security violation must be sent"); } catch (Exception e) { } ClientMessage[] notifications = SecurityNotificationTest.consumeMessages(1, notifConsumer); Assert.assertEquals(SECURITY_PERMISSION_VIOLATION.toString(), notifications[0].getObjectProperty(ManagementHelper.HDR_NOTIFICATION_TYPE).toString()); Assert.assertEquals("guest", notifications[0].getObjectProperty(ManagementHelper.HDR_USER).toString()); Assert.assertEquals(address.toString(), notifications[0].getObjectProperty(ManagementHelper.HDR_ADDRESS).toString()); Assert.assertEquals(CheckType.CREATE_DURABLE_QUEUE.toString(), notifications[0].getObjectProperty(ManagementHelper.HDR_CHECK_TYPE).toString()); guestSession.close(); }
31. AddressControlUsingCoreTest#testGetRoles()
Project: activemq-artemis
File: AddressControlUsingCoreTest.java
File: AddressControlUsingCoreTest.java
@Test public void testGetRoles() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); session.createQueue(address, queue, true); CoreMessagingProxy proxy = createProxy(address); Object[] roles = (Object[]) proxy.retrieveAttributeValue("roles"); for (Object role2 : roles) { System.out.println(((Object[]) role2)[0]); } Assert.assertEquals(0, roles.length); Set<Role> newRoles = new HashSet<>(); newRoles.add(role); server.getSecurityRepository().addMatch(address.toString(), newRoles); roles = (Object[]) proxy.retrieveAttributeValue("roles"); Assert.assertEquals(1, roles.length); Object[] r = (Object[]) roles[0]; Assert.assertEquals(role.getName(), r[0]); Assert.assertEquals(CheckType.SEND.hasRole(role), r[1]); Assert.assertEquals(CheckType.CONSUME.hasRole(role), r[2]); Assert.assertEquals(CheckType.CREATE_DURABLE_QUEUE.hasRole(role), r[3]); Assert.assertEquals(CheckType.DELETE_DURABLE_QUEUE.hasRole(role), r[4]); Assert.assertEquals(CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role), r[5]); Assert.assertEquals(CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role), r[6]); Assert.assertEquals(CheckType.MANAGE.hasRole(role), r[7]); session.deleteQueue(queue); }
32. AddressControlTest#testGetRolesAsJSON()
Project: activemq-artemis
File: AddressControlTest.java
File: AddressControlTest.java
@Test public void testGetRolesAsJSON() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); session.createQueue(address, queue, true); AddressControl addressControl = createManagementControl(address); String jsonString = addressControl.getRolesAsJSON(); Assert.assertNotNull(jsonString); RoleInfo[] roles = RoleInfo.from(jsonString); Assert.assertEquals(0, roles.length); Set<Role> newRoles = new HashSet<>(); newRoles.add(role); server.getSecurityRepository().addMatch(address.toString(), newRoles); jsonString = addressControl.getRolesAsJSON(); Assert.assertNotNull(jsonString); roles = RoleInfo.from(jsonString); Assert.assertEquals(1, roles.length); RoleInfo r = roles[0]; Assert.assertEquals(role.getName(), roles[0].getName()); Assert.assertEquals(role.isSend(), r.isSend()); Assert.assertEquals(role.isConsume(), r.isConsume()); Assert.assertEquals(role.isCreateDurableQueue(), r.isCreateDurableQueue()); Assert.assertEquals(role.isDeleteDurableQueue(), r.isDeleteDurableQueue()); Assert.assertEquals(role.isCreateNonDurableQueue(), r.isCreateNonDurableQueue()); Assert.assertEquals(role.isDeleteNonDurableQueue(), r.isDeleteNonDurableQueue()); Assert.assertEquals(role.isManage(), r.isManage()); session.deleteQueue(queue); }
33. AddressControlTest#testGetRoles()
Project: activemq-artemis
File: AddressControlTest.java
File: AddressControlTest.java
@Test public void testGetRoles() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); Role role = new Role(RandomUtil.randomString(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean(), RandomUtil.randomBoolean()); session.createQueue(address, queue, true); AddressControl addressControl = createManagementControl(address); Object[] roles = addressControl.getRoles(); Assert.assertEquals(0, roles.length); Set<Role> newRoles = new HashSet<>(); newRoles.add(role); server.getSecurityRepository().addMatch(address.toString(), newRoles); roles = addressControl.getRoles(); Assert.assertEquals(1, roles.length); Object[] r = (Object[]) roles[0]; Assert.assertEquals(role.getName(), r[0]); Assert.assertEquals(CheckType.SEND.hasRole(role), r[1]); Assert.assertEquals(CheckType.CONSUME.hasRole(role), r[2]); Assert.assertEquals(CheckType.CREATE_DURABLE_QUEUE.hasRole(role), r[3]); Assert.assertEquals(CheckType.DELETE_DURABLE_QUEUE.hasRole(role), r[4]); Assert.assertEquals(CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role), r[5]); Assert.assertEquals(CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role), r[6]); Assert.assertEquals(CheckType.MANAGE.hasRole(role), r[7]); session.deleteQueue(queue); }
34. SecurityFailoverTest#installSecurity()
Project: activemq-artemis
File: SecurityFailoverTest.java
File: SecurityFailoverTest.java
/** * @return */ protected ActiveMQJAASSecurityManager installSecurity(TestableServer server) { ActiveMQJAASSecurityManager securityManager = (ActiveMQJAASSecurityManager) server.getServer().getSecurityManager(); securityManager.getConfiguration().addUser("a", "b"); Role role = new Role("arole", true, true, true, true, true, true, true); Set<Role> roles = new HashSet<>(); roles.add(role); server.getServer().getSecurityRepository().addMatch("#", roles); securityManager.getConfiguration().addRole("a", "arole"); return securityManager; }
35. AutoCreateJmsDestinationTest#testAutoCreateOnSendToQueueSecurity()
Project: activemq-artemis
File: AutoCreateJmsDestinationTest.java
File: 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); 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("test"); MessageProducer producer = session.createProducer(queue); TextMessage mess = session.createTextMessage("msg"); try { producer.send(mess); Assert.fail("Sending a message here should throw a JMSSecurityException"); } catch (Exception e) { Assert.assertTrue(e instanceof JMSSecurityException); } connection.close(); }