Author: ffang
Date: Mon Jun 11 04:05:27 2012
New Revision: 1348718
URL: http://svn.apache.org/viewvc?rev=1348718&view=rev
Log:
[SMX4NMR-291]NMR FlowRegistryImpl should use endpoint name but not a UUID to
retrieve related AuthorizationEntry
Modified:
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/FlowRegistryImpl.java
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationService.java
servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationServiceTest.java
Modified:
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/FlowRegistryImpl.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/FlowRegistryImpl.java?rev=1348718&r1=1348717&r2=1348718&view=diff
==============================================================================
---
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/FlowRegistryImpl.java
(original)
+++
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/FlowRegistryImpl.java
Mon Jun 11 04:05:27 2012
@@ -90,7 +90,13 @@ public class FlowRegistryImpl extends Se
}
match = true;
if (authorizationService != null) {
- Set<GroupPrincipal> acls =
authorizationService.getAcls(endpoint.getId(), exchange.getOperation());
+ String endpointName = (String)
endpoint.getMetaData().get(Endpoint.ENDPOINT_NAME);
+ String uniqueName = endpoint.getId();
+ if (endpointName != null && endpointName.length() != 0)
{
+ uniqueName = uniqueName + "|" + endpointName;
+ }
+ Set<GroupPrincipal> acls =
authorizationService.getAcls(uniqueName,
+ exchange.getOperation());
if (!acls.contains(GroupPrincipal.ANY)) {
Subject subject =
exchange.getIn().getSecuritySubject();
if (subject == null) {
Modified:
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationService.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationService.java?rev=1348718&r1=1348717&r2=1348718&view=diff
==============================================================================
---
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationService.java
(original)
+++
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationService.java
Mon Jun 11 04:05:27 2012
@@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Map;
+import java.util.StringTokenizer;
import java.util.WeakHashMap;
import java.util.regex.Pattern;
@@ -70,7 +71,12 @@ public class DefaultAuthorizationService
}
public Set<GroupPrincipal> getAcls(String endpoint, QName operation) {
- String key = endpoint + "|" + (operation != null ?
operation.toString() : "");
+ StringTokenizer token = new StringTokenizer(endpoint, "|");
+ endpoint = token.nextToken();
+ String key = endpoint + "|" + (operation != null ? operation.toString()
: "");
+ if (token.hasMoreTokens()) {
+ endpoint = token.nextToken();
+ }
Set<GroupPrincipal> acls = cache.get(key);
if (acls == null) {
acls = new HashSet<GroupPrincipal>();
Modified:
servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationServiceTest.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationServiceTest.java?rev=1348718&r1=1348717&r2=1348718&view=diff
==============================================================================
---
servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationServiceTest.java
(original)
+++
servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/security/DefaultAuthorizationServiceTest.java
Mon Jun 11 04:05:27 2012
@@ -23,6 +23,7 @@ import javax.xml.namespace.QName;
import junit.framework.TestCase;
import org.apache.servicemix.nmr.api.security.AuthorizationEntry;
import org.apache.servicemix.nmr.api.security.GroupPrincipal;
+import org.apache.servicemix.nmr.core.util.UuidGenerator;
public class DefaultAuthorizationServiceTest extends TestCase {
@@ -36,7 +37,7 @@ public class DefaultAuthorizationService
addEntry("*", null, "*", AuthorizationEntry.Type.Add);
addEntry("ep1", null, "role1", AuthorizationEntry.Type.Set);
- Set<GroupPrincipal> acls = service.getAcls("ep1", null);
+ Set<GroupPrincipal> acls = service.getAcls(UuidGenerator.getUUID() +
"|ep1", null);
assertNotNull(acls);
assertEquals(1, acls.size());
assertTrue(acls.contains(new GroupPrincipal("role1")));