diff --git a/spring-security-kerberos-core/pom.xml b/spring-security-kerberos-core/pom.xml
index 8578165..07a846f 100644
--- a/spring-security-kerberos-core/pom.xml
+++ b/spring-security-kerberos-core/pom.xml
@@ -65,7 +65,7 @@
- 3.0.0.M4
- 3.0.0.M2
+ 3.0.0.RELEASE
+ 3.0.0.RC2
diff --git a/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/KerberosServiceRequestToken.java b/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/KerberosServiceRequestToken.java
index 9a6c38c..dd1df7a 100644
--- a/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/KerberosServiceRequestToken.java
+++ b/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/KerberosServiceRequestToken.java
@@ -17,7 +17,7 @@
package org.springframework.security.extensions.kerberos;
import java.util.Arrays;
-import java.util.List;
+import java.util.Collection;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.core.GrantedAuthority;
@@ -51,7 +51,7 @@ public class KerberosServiceRequestToken extends AbstractAuthenticationToken {
* @param token the Kerberos/SPNEGO token
* @see UserDetails
*/
- public KerberosServiceRequestToken(Object principal, List authorities, byte[] token) {
+ public KerberosServiceRequestToken(Object principal, Collection authorities, byte[] token) {
super(authorities);
this.token = token;
this.principal = principal;
diff --git a/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/web/SpnegoAuthenticationProcessingFilter.java b/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/web/SpnegoAuthenticationProcessingFilter.java
index c5cf827..3796d81 100644
--- a/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/web/SpnegoAuthenticationProcessingFilter.java
+++ b/spring-security-kerberos-core/src/main/java/org/springframework/security/extensions/kerberos/web/SpnegoAuthenticationProcessingFilter.java
@@ -25,10 +25,10 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.codec.binary.Base64;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.codec.Base64;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.extensions.kerberos.KerberosServiceAuthenticationProvider;
import org.springframework.security.extensions.kerberos.KerberosServiceRequestToken;
@@ -49,7 +49,7 @@ import org.springframework.web.filter.GenericFilterBean;
*
* <sec:http entry-point-ref="spnegoEntryPoint">
* <sec:intercept-url pattern="/secure/**" access="IS_AUTHENTICATED_FULLY" />
- * <sec:custom-filter ref="spnegoAuthenticationProcessingFilter" position="BASIC_PROCESSING_FILTER" />
+ * <sec:custom-filter ref="spnegoAuthenticationProcessingFilter" position="BASIC_AUTH_FILTER" />
* </sec:http>
*
* <bean id="spnegoEntryPoint" class="org.springframework.security.extensions.kerberos.web.SpnegoEntryPoint" />
@@ -108,9 +108,8 @@ public class SpnegoAuthenticationProcessingFilter extends GenericFilterBean {
if (logger.isDebugEnabled()) {
logger.debug("Received Negotiate Header for request "+ request.getRequestURL()+ ": " + header);
}
- String base64Token = header.substring(10);
- byte[] kerberosTicket = Base64.decodeBase64(base64Token.trim()
- .getBytes());
+ byte[] base64Token = header.substring(10).getBytes("UTF-8");
+ byte[] kerberosTicket = Base64.decode(base64Token);
KerberosServiceRequestToken authenticationRequest = new KerberosServiceRequestToken(
kerberosTicket);
Authentication authentication;
diff --git a/spring-security-kerberos-sample/src/main/webapp/WEB-INF/security.xml b/spring-security-kerberos-sample/src/main/webapp/WEB-INF/security.xml
index dd44731..d910236 100644
--- a/spring-security-kerberos-sample/src/main/webapp/WEB-INF/security.xml
+++ b/spring-security-kerberos-sample/src/main/webapp/WEB-INF/security.xml
@@ -7,7 +7,7 @@
+ position="BASIC_AUTH_FILTER" />