You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2012/06/11 06:05:27 UTC
svn commit: r1348718 - in /servicemix/smx4/nmr/trunk/nmr/core/src:
main/java/org/apache/servicemix/nmr/core/
main/java/org/apache/servicemix/nmr/core/security/
test/java/org/apache/servicemix/nmr/core/security/
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")));