https://issues.apache.org/jira/browse/AMQ-5304 - still missing unit test case
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/d8e30267 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/d8e30267 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/d8e30267 Branch: refs/heads/activemq-5.10.x Commit: d8e30267341cba342f3c624650bbc6338f612711 Parents: 902692e Author: Torsten Mielke <[email protected]> Authored: Fri Aug 1 15:18:46 2014 +0200 Committer: Hadrian Zbarcea <[email protected]> Committed: Wed Dec 17 16:47:19 2014 -0500 ---------------------------------------------------------------------- .../security/TempDestinationAuthorizationEntry.java | 13 +++++++++++++ .../activemq/security/XBeanAuthorizationMap.java | 5 +++++ 2 files changed, 18 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/d8e30267/activemq-broker/src/main/java/org/apache/activemq/security/TempDestinationAuthorizationEntry.java ---------------------------------------------------------------------- diff --git a/activemq-broker/src/main/java/org/apache/activemq/security/TempDestinationAuthorizationEntry.java b/activemq-broker/src/main/java/org/apache/activemq/security/TempDestinationAuthorizationEntry.java index 8f6a68a..fe19e56 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/security/TempDestinationAuthorizationEntry.java +++ b/activemq-broker/src/main/java/org/apache/activemq/security/TempDestinationAuthorizationEntry.java @@ -30,6 +30,19 @@ public class TempDestinationAuthorizationEntry extends AuthorizationEntry { // we don't need to check if destination is specified since // the TempDestinationAuthorizationEntry should map to all temp // destinations + + + if (adminRoles != null) { + setAdminACLs(parseACLs(adminRoles)); + } + + if (writeRoles != null) { + setWriteACLs(parseACLs(writeRoles)); + } + + if (readRoles != null) { + setReadACLs(parseACLs(readRoles)); + } } } http://git-wip-us.apache.org/repos/asf/activemq/blob/d8e30267/activemq-spring/src/main/java/org/apache/activemq/security/XBeanAuthorizationMap.java ---------------------------------------------------------------------- diff --git a/activemq-spring/src/main/java/org/apache/activemq/security/XBeanAuthorizationMap.java b/activemq-spring/src/main/java/org/apache/activemq/security/XBeanAuthorizationMap.java index c8b71e5..8d43efb 100644 --- a/activemq-spring/src/main/java/org/apache/activemq/security/XBeanAuthorizationMap.java +++ b/activemq-spring/src/main/java/org/apache/activemq/security/XBeanAuthorizationMap.java @@ -57,6 +57,11 @@ public class XBeanAuthorizationMap extends DefaultAuthorizationMap implements In } ((XBeanAuthorizationEntry)entry).afterPropertiesSet(); } + + // also check group class of temp destination ACL + if (getTempDestinationAuthorizationEntry() != null && getTempDestinationAuthorizationEntry().getGroupClass() != null) { + getTempDestinationAuthorizationEntry().afterPropertiesSet(); + } super.setEntries(authorizationEntries); }
