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/07/22 04:04:10 UTC
svn commit: r966480 - in /camel/trunk/components/camel-spring-security/src:
main/java/org/apache/camel/component/spring/security/
test/java/org/apache/camel/component/spring/security/
Author: ningjiang
Date: Thu Jul 22 02:04:09 2010
New Revision: 966480
URL: http://svn.apache.org/viewvc?rev=966480&view=rev
Log:
CAMEL-2796 camel-spring-security: provide reference to the policy when authorization fails by applying patch with thanks to Paul
Modified:
camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
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/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java?rev=966480&r1=966479&r2=966480&view=diff
==============================================================================
--- camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java (original)
+++ camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java Thu Jul 22 02:04:09 2010
@@ -90,6 +90,7 @@ public class SpringSecurityAuthorization
publishEvent(new AuthorizedEvent(exchange, attributes, authenticated));
} catch (RuntimeException exception) {
+ exchange.getIn().setHeader(Exchange.AUTHENTICATION_FAILURE_POLICY_ID, getId());
CamelAuthorizationException authorizationException =
new CamelAuthorizationException("Cannot access the processor which has been protected.", exchange, exception);
throw authorizationException;
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=966480&r1=966479&r2=966480&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 Thu Jul 22 02:04:09 2010
@@ -60,6 +60,21 @@ public class SpringSecurityAuthorization
}
@Test
+ public void testAuthenticationFailed() throws Exception {
+ MockEndpoint end = getMockEndpoint("mock:end");
+ end.expectedMessageCount(0);
+ try {
+ sendMessageWithAuthentication("bob", "jimspassword");
+ fail("we should get the access deny exception here");
+ } catch (Exception exception) {
+ // the exception should be caused by CamelAuthorizationException
+ assertTrue("Expect CamelAuthorizationException here", exception.getCause() instanceof CamelAuthorizationException);
+ assertEquals("admin", ((CamelAuthorizationException) exception.getCause()).getPolicyId());
+ }
+ end.assertIsSatisfied();
+ }
+
+ @Test
public void testGetAuthorizationTokenFromSecurityContextHolder() throws Exception {
MockEndpoint end = getMockEndpoint("mock:end");
end.expectedBodiesReceived("hello world");