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);