Author: rajdavies
Date: Tue May 27 06:51:42 2008
New Revision: 660517
URL: http://svn.apache.org/viewvc?rev=660517&view=rev
Log:
Apply patch for https://issues.apache.org/activemq/browse/AMQ-1747
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/security/SimpleAuthenticationPluginTest.java
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java?rev=660517&r1=660516&r2=660517&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java
Tue May 27 06:51:42 2008
@@ -51,6 +51,12 @@
if (securityContext == null) {
throw new SecurityException("User is not authenticated.");
}
+
+ Destination existing = this.getDestinationMap().get(destination);
+ if (existing != null) {
+ return existing;
+ }
+
//
if(!((ActiveMQTempDestination)destination).getConnectionId().equals(context.getConnectionId().getValue())
// ) {
if (!securityContext.isBrokerContext()) {
Modified:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/security/SimpleAuthenticationPluginTest.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/security/SimpleAuthenticationPluginTest.java?rev=660517&r1=660516&r2=660517&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/security/SimpleAuthenticationPluginTest.java
(original)
+++
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/security/SimpleAuthenticationPluginTest.java
Tue May 27 06:51:42 2008
@@ -18,9 +18,16 @@
import java.net.URI;
+import javax.jms.JMSException;
+import javax.jms.Message;
+
import junit.framework.Test;
+
+import org.apache.activemq.CombinationTestSupport;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.command.ActiveMQMessage;
+import org.apache.activemq.command.ActiveMQQueue;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -44,5 +51,20 @@
LOG.info("Loading broker configuration from the classpath with URI: "
+ uri);
return BrokerFactory.createBroker(new URI("xbean:" + uri));
}
+
+ /**
+ * @see [EMAIL PROTECTED] CombinationTestSupport}
+ */
+ public void initCombosForTestPredefinedDestinations() {
+ addCombinationValues("userName", new Object[] {"guest"});
+ addCombinationValues("password", new Object[] {"password"});
+ addCombinationValues("destination", new Object[] {new
ActiveMQQueue("TEST.Q")});
+ }
+
+ public void testPredefinedDestinations() throws JMSException {
+ Message sent = doSend(false);
+ assertEquals("guest", ((ActiveMQMessage)sent).getUserID());
+ assertEquals("guest", sent.getStringProperty("JMSXUserID"));
+ }
}
Modified:
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml?rev=660517&r1=660516&r2=660517&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml
(original)
+++
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml
Tue May 27 06:51:42 2008
@@ -23,6 +23,10 @@
<broker useJmx="false" persistent="false"
xmlns="http://activemq.apache.org/schema/core" populateJMSXUserID="true">
+ <destinations>
+ <queue physicalName="TEST.Q" />
+ </destinations>
+
<plugins>
<simpleAuthenticationPlugin>
<users>
@@ -44,6 +48,8 @@
<authorizationEntry queue="USERS.>" read="users" write="users"
admin="users" />
<authorizationEntry queue="GUEST.>" read="guests"
write="guests,users" admin="guests,users" />
+ <authorizationEntry queue="TEST.Q" read="guests" write="guests"
/>
+
<authorizationEntry topic=">" read="admins" write="admins"
admin="admins" />
<authorizationEntry topic="USERS.>" read="users" write="users"
admin="users" />
<authorizationEntry topic="GUEST.>" read="guests"
write="guests,users" admin="guests,users" />