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" />