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/06/08 10:00:48 UTC
svn commit: r952562 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/
components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/
components/camel-spring-security/src/main/java/org/apache/camel/component/sprin...
Author: ningjiang
Date: Tue Jun 8 08:00:47 2010
New Revision: 952562
URL: http://svn.apache.org/viewvc?rev=952562&view=rev
Log:
CAMEL-2796 provides policy referece id in CamelAuthorizationException
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java
camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyParser.java
camel/trunk/examples/camel-example-spring-security/src/main/resources/org/apache/camel/example/spring/security/camel-context.xml
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java?rev=952562&r1=952561&r2=952562&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java Tue Jun 8 08:00:47 2010
@@ -18,13 +18,20 @@
package org.apache.camel;
public class CamelAuthorizationException extends CamelExchangeException {
-
+ private final String policyId;
+
public CamelAuthorizationException(String message, Exchange exchange) {
super(message, exchange);
+ policyId = exchange.getIn().getHeader(Exchange.AUTHENTICATION_FAILURE_POLICY_ID, String.class);
}
public CamelAuthorizationException(String message, Exchange exchange, Throwable cause) {
super(message, exchange, cause);
+ policyId = exchange.getIn().getHeader(Exchange.AUTHENTICATION_FAILURE_POLICY_ID, String.class);
+ }
+
+ public String getPolicyId() {
+ return policyId;
}
}
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=952562&r1=952561&r2=952562&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 Tue Jun 8 08:00:47 2010
@@ -22,6 +22,7 @@ import org.apache.camel.CamelAuthorizati
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
+import org.apache.camel.model.IdentifiedType;
import org.apache.camel.processor.DelegateProcessor;
import org.apache.camel.spi.AuthorizationPolicy;
import org.apache.camel.spi.RouteContext;
@@ -42,7 +43,7 @@ import org.springframework.security.even
import org.springframework.security.event.authorization.AuthorizedEvent;
import org.springframework.util.Assert;
-public class SpringSecurityAuthorizationPolicy implements AuthorizationPolicy, InitializingBean, ApplicationEventPublisherAware {
+public class SpringSecurityAuthorizationPolicy extends IdentifiedType implements AuthorizationPolicy, InitializingBean, ApplicationEventPublisherAware {
private static final transient Log LOG = LogFactory.getLog(SpringSecurityAuthorizationPolicy.class);
private AccessDecisionManager accessDecisionManager;
private AuthenticationManager authenticationManager;
@@ -76,6 +77,7 @@ public class SpringSecurityAuthorization
try {
this.accessDecisionManager.decide(authenticated, exchange, attributes);
} catch (AccessDeniedException accessDeniedException) {
+ exchange.getIn().setHeader(Exchange.AUTHENTICATION_FAILURE_POLICY_ID, getId());
AuthorizationFailureEvent event = new AuthorizationFailureEvent(exchange, attributes, authenticated,
accessDeniedException);
publishEvent(event);
@@ -123,7 +125,6 @@ public class SpringSecurityAuthorization
Assert.notNull(this.authenticationManager, "An AuthenticationManager is required");
Assert.notNull(this.accessDecisionManager, "An AccessDecisionManager is required");
Assert.notNull(this.accessPolicy, "The accessPolicy is required");
-
}
private Authentication authenticateIfRequired(Authentication authentication) {
Modified: camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyParser.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyParser.java?rev=952562&r1=952561&r2=952562&view=diff
==============================================================================
--- camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyParser.java (original)
+++ camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyParser.java Tue Jun 8 08:00:47 2010
@@ -47,7 +47,10 @@ public class SpringSecurityAuthorization
setReferenceIfAttributeDefine(builder, element, "authenticationManager");
if (ObjectHelper.isNotEmpty(element.getAttribute("authenticationAdapter"))) {
builder.addPropertyReference("authenticationAdapter", element.getAttribute("authenticationAdapter"));
- }
+ }
+ if (ObjectHelper.isNotEmpty(element.getAttribute("id"))) {
+ builder.addPropertyValue("id", element.getAttribute("id"));
+ }
BeanDefinitionBuilder accessPolicyBuilder = BeanDefinitionBuilder.genericBeanDefinition(
SpringSecurityAccessPolicy.class.getCanonicalName());
accessPolicyBuilder.addConstructorArgValue(element.getAttribute("access"));
Modified: camel/trunk/examples/camel-example-spring-security/src/main/resources/org/apache/camel/example/spring/security/camel-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-spring-security/src/main/resources/org/apache/camel/example/spring/security/camel-context.xml?rev=952562&r1=952561&r2=952562&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-spring-security/src/main/resources/org/apache/camel/example/spring/security/camel-context.xml (original)
+++ camel/trunk/examples/camel-example-spring-security/src/main/resources/org/apache/camel/example/spring/security/camel-context.xml Tue Jun 8 08:00:47 2010
@@ -58,7 +58,7 @@
<constant>true</constant>
</handled>
<transform>
- <constant>Access Denied!</constant>
+ <simple>Access Denied with the Policy of ${exception.policyId} !</simple>
</transform>
</onException>