You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2015/03/31 17:13:47 UTC
activemq git commit: https://issues.apache.org/jira/browse/AMQ-5697 -
authorization map and composite destinations
Repository: activemq
Updated Branches:
refs/heads/master a39e51e05 -> 8bb58036a
https://issues.apache.org/jira/browse/AMQ-5697 - authorization map and composite destinations
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/8bb58036
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/8bb58036
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/8bb58036
Branch: refs/heads/master
Commit: 8bb58036a0251aa03301dc2c79d24076e0e8c8ff
Parents: a39e51e
Author: Dejan Bosanac <de...@nighttale.net>
Authored: Tue Mar 31 17:13:27 2015 +0200
Committer: Dejan Bosanac <de...@nighttale.net>
Committed: Tue Mar 31 17:13:37 2015 +0200
----------------------------------------------------------------------
.../activemq/security/AuthorizationEntry.java | 24 ++++++++++++++++++++
.../activemq/security/AuthorizationMapTest.java | 14 ++++++++++--
2 files changed, 36 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/8bb58036/activemq-broker/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/security/AuthorizationEntry.java b/activemq-broker/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
index 846732c..777c8a8 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
@@ -111,4 +111,28 @@ public class AuthorizationEntry extends DestinationMapEntry {
}
return answer;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof AuthorizationEntry)) return false;
+
+ AuthorizationEntry that = (AuthorizationEntry) o;
+
+ if (adminRoles != null ? !adminRoles.equals(that.adminRoles) : that.adminRoles != null) return false;
+ if (groupClass != null ? !groupClass.equals(that.groupClass) : that.groupClass != null) return false;
+ if (readRoles != null ? !readRoles.equals(that.readRoles) : that.readRoles != null) return false;
+ if (writeRoles != null ? !writeRoles.equals(that.writeRoles) : that.writeRoles != null) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = adminRoles != null ? adminRoles.hashCode() : 0;
+ result = 31 * result + (readRoles != null ? readRoles.hashCode() : 0);
+ result = 31 * result + (writeRoles != null ? writeRoles.hashCode() : 0);
+ result = 31 * result + (groupClass != null ? groupClass.hashCode() : 0);
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/8bb58036/activemq-unit-tests/src/test/java/org/apache/activemq/security/AuthorizationMapTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/security/AuthorizationMapTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/security/AuthorizationMapTest.java
index 63d39a6..dc4192f 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/security/AuthorizationMapTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/security/AuthorizationMapTest.java
@@ -44,12 +44,22 @@ public class AuthorizationMapTest extends TestCase {
}
- public void testCompositeDoesNotBypassAuthorizationMap() {
- AuthorizationMap map = createAuthorizationMap();
+ public void testComposite() {
+ DefaultAuthorizationMap map = (DefaultAuthorizationMap)createAuthorizationMap();
+ map.put(new ActiveMQQueue("QUEUEA"), createEntry("QUEUEA", "users", "users", "users"));
+ map.put(new ActiveMQQueue("QUEUEB"), createEntry("QUEUEB", "users", "users", "users"));
Set<?> readACLs = map.getReadACLs(new ActiveMQQueue("USERS.FOO.BAR,DENIED"));
assertEquals("set size: " + readACLs, 1, readACLs.size());
assertTrue("Contains users group", readACLs.contains(ADMINS));
+
+ readACLs = map.getReadACLs(new ActiveMQQueue("USERS.FOO.BAR,USERS.BAR.FOO"));
+ assertEquals("set size: " + readACLs, 2, readACLs.size());
+ assertTrue("Contains users group", readACLs.contains(USERS));
+
+ readACLs = map.getReadACLs(new ActiveMQQueue("QUEUEA,QUEUEB"));
+ assertEquals("set size: " + readACLs, 2, readACLs.size());
+ assertTrue("Contains users group", readACLs.contains(USERS));
}
public void testAuthorizationMapWithTempDest() {