You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2010/04/14 11:47:57 UTC

svn commit: r933898 - in /camel/trunk/components/camel-spring-security/src: main/resources/schema/camel-spring-security.xsd test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java

Author: ningjiang
Date: Wed Apr 14 09:47:57 2010
New Revision: 933898

URL: http://svn.apache.org/viewvc?rev=933898&view=rev
Log:
CAMEL-2643 Added test and update the schema file for it

Modified:
    camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd
    camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java

Modified: camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd?rev=933898&r1=933897&r2=933898&view=diff
==============================================================================
--- camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd (original)
+++ camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd Wed Apr 14 09:47:57 2010
@@ -35,6 +35,7 @@
 	  	<xsd:attribute name="access" type="xsd:string" />
 	  	<xsd:attribute name="authenticationManager" type="xsd:string" />
 	  	<xsd:attribute name="accessDecisionManager" type="xsd:string" />
+	  	<xsd:attribute name="useThreadSecurityContext" type="xsd:boolean" default="true"/>
 	  	<xsd:attribute name="alwaysReauthenticate" type="xsd:boolean" default="false"/>
 	  </xsd:complexType>
   </xsd:element>

Modified: camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java?rev=933898&r1=933897&r2=933898&view=diff
==============================================================================
--- camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java (original)
+++ camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java Wed Apr 14 09:47:57 2010
@@ -29,6 +29,7 @@ import org.springframework.security.Auth
 import org.springframework.security.AuthenticationManager;
 import org.springframework.security.GrantedAuthority;
 import org.springframework.security.GrantedAuthorityImpl;
+import org.springframework.security.context.SecurityContextHolder;
 import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
 
 public class SpringSecurityAuthorizationPolicyTest extends CamelSpringTestSupport {
@@ -54,9 +55,20 @@ public class SpringSecurityAuthorization
         }
         end.assertIsSatisfied();
     }
-
-    private void sendMessageWithAuthentication(String username, String password, String... roles) {
-
+    
+    @Test
+    public void testGetAuthorizationTokenFromSecurityContextHolder() throws Exception {
+        MockEndpoint end = getMockEndpoint("mock:end");
+        end.expectedBodiesReceived("hello world");
+        Authentication authToken = createAuthenticationToken("jim", "jimspassword", "ROLE_USER", "ROLE_ADMIN");
+        SecurityContextHolder.getContext().setAuthentication(authToken);
+        template.sendBody("direct:start", "hello world");
+        end.assertIsSatisfied();
+        SecurityContextHolder.getContext().setAuthentication(null);
+        
+    }
+    
+    private Authentication createAuthenticationToken(String username, String password, String... roles) {
         Authentication authToken;
         if (roles != null && roles.length > 0) {
             GrantedAuthority[] authorities = new GrantedAuthority[roles.length];
@@ -67,7 +79,13 @@ public class SpringSecurityAuthorization
         } else {
             authToken = new UsernamePasswordAuthenticationToken(username, password);
         }
+        return authToken;
+    }
+
+    private void sendMessageWithAuthentication(String username, String password, String... roles) {
 
+        Authentication authToken = createAuthenticationToken(username, password, roles);
+        
         Subject subject = new Subject();
         subject.getPrincipals().add(authToken);