@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
/ * Copyright 2004 , 2005 Acegi Technology Pty Limited
/ * Copyright 2004 , 2005 , 2006 Acegi Technology Pty Limited
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -18,8 +18,11 @@ package org.acegisecurity.ui.basicauth;
@@ -18,8 +18,11 @@ package org.acegisecurity.ui.basicauth;
import org.acegisecurity.Authentication ;
import org.acegisecurity.AuthenticationException ;
import org.acegisecurity.AuthenticationManager ;
import org.acegisecurity.context.SecurityContextHolder ;
import org.acegisecurity.providers.UsernamePasswordAuthenticationToken ;
import org.acegisecurity.ui.AuthenticationEntryPoint ;
import org.acegisecurity.ui.WebAuthenticationDetails ;
@ -78,8 +81,9 @@ import javax.servlet.http.HttpServletResponse;
@@ -78,8 +81,9 @@ import javax.servlet.http.HttpServletResponse;
* < / p >
*
* < p >
* If authentication fails , an { @link AuthenticationEntryPoint } implementation
* is called . Usually this should be { @link BasicProcessingFilterEntryPoint } ,
* If authentication fails and < code > ignoreFailure < / code > is < code > false < / code >
* ( the default ) , an { @link AuthenticationEntryPoint } implementation is
* called . Usually this should be { @link BasicProcessingFilterEntryPoint } ,
* which will prompt the user to authenticate again via BASIC authentication .
* < / p >
*
@ -110,27 +114,10 @@ public class BasicProcessingFilter implements Filter, InitializingBean {
@@ -110,27 +114,10 @@ public class BasicProcessingFilter implements Filter, InitializingBean {
private AuthenticationEntryPoint authenticationEntryPoint ;
private AuthenticationManager authenticationManager ;
private boolean ignoreFailure = false ;
//~ Methods ================================================================
public void setAuthenticationEntryPoint (
AuthenticationEntryPoint authenticationEntryPoint ) {
this . authenticationEntryPoint = authenticationEntryPoint ;
}
public AuthenticationEntryPoint getAuthenticationEntryPoint ( ) {
return authenticationEntryPoint ;
}
public void setAuthenticationManager (
AuthenticationManager authenticationManager ) {
this . authenticationManager = authenticationManager ;
}
public AuthenticationManager getAuthenticationManager ( ) {
return authenticationManager ;
}
public void afterPropertiesSet ( ) throws Exception {
Assert . notNull ( this . authenticationManager ,
"An AuthenticationManager is required" ) ;
@ -196,7 +183,13 @@ public class BasicProcessingFilter implements Filter, InitializingBean {
@@ -196,7 +183,13 @@ public class BasicProcessingFilter implements Filter, InitializingBean {
}
SecurityContextHolder . getContext ( ) . setAuthentication ( null ) ;
authenticationEntryPoint . commence ( request , response , failed ) ;
if ( ignoreFailure ) {
chain . doFilter ( request , response ) ;
} else {
authenticationEntryPoint . commence ( request , response ,
failed ) ;
}
return ;
}
@ -214,5 +207,31 @@ public class BasicProcessingFilter implements Filter, InitializingBean {
@@ -214,5 +207,31 @@ public class BasicProcessingFilter implements Filter, InitializingBean {
chain . doFilter ( request , response ) ;
}
public AuthenticationEntryPoint getAuthenticationEntryPoint ( ) {
return authenticationEntryPoint ;
}
public AuthenticationManager getAuthenticationManager ( ) {
return authenticationManager ;
}
public void init ( FilterConfig arg0 ) throws ServletException { }
public boolean isIgnoreFailure ( ) {
return ignoreFailure ;
}
public void setAuthenticationEntryPoint (
AuthenticationEntryPoint authenticationEntryPoint ) {
this . authenticationEntryPoint = authenticationEntryPoint ;
}
public void setAuthenticationManager (
AuthenticationManager authenticationManager ) {
this . authenticationManager = authenticationManager ;
}
public void setIgnoreFailure ( boolean ignoreFailure ) {
this . ignoreFailure = ignoreFailure ;
}
}