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 12:01:32 UTC
svn commit: r933901 -
/camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
Author: ningjiang
Date: Wed Apr 14 10:01:31 2010
New Revision: 933901
URL: http://svn.apache.org/viewvc?rev=933901&view=rev
Log:
CAMEL-2643 Using CamelAuthorizationException to avoid the NPE of Authentication
Modified:
camel/trunk/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.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=933901&r1=933900&r2=933901&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 Wed Apr 14 10:01:31 2010
@@ -59,8 +59,14 @@ public class SpringSecurityAuthorization
ConfigAttributeDefinition attributes = accessPolicy.getConfigAttributeDefinition();
try {
+ Authentication authToken = getAuthentication(exchange);
+ if (authToken == null) {
+ CamelAuthorizationException authorizationException =
+ new CamelAuthorizationException("Cannot find the Authentication instance.", exchange);
+ throw authorizationException;
+ }
- Authentication authenticated = authenticateIfRequired(getAuthentication(exchange));
+ Authentication authenticated = authenticateIfRequired(authToken);
// Attempt authorization with exchange
try {
@@ -75,7 +81,7 @@ public class SpringSecurityAuthorization
} catch (SpringSecurityException exception) {
CamelAuthorizationException authorizationException =
- new CamelAuthorizationException("Cannot access the below process", exchange, exception);
+ new CamelAuthorizationException("Cannot access the processor which has been protected.", exchange, exception);
throw authorizationException;
}
}
@@ -88,8 +94,7 @@ public class SpringSecurityAuthorization
if (LOG.isDebugEnabled()) {
LOG.debug("Get the authentication from SecurityContextHolder");
}
- }
-
+ }
return answer;
}
@@ -114,7 +119,7 @@ public class SpringSecurityAuthorization
}
private Authentication authenticateIfRequired(Authentication authentication) {
-
+
if (authentication.isAuthenticated() && !alwaysReauthenticate) {
if (LOG.isDebugEnabled()) {
LOG.debug("Previously Authenticated: " + authentication);