package org.jboss.security.web;
import org.apache.catalina.authenticator.AuthenticatorBase;
import org.apache.catalina.connector.Request;
import org.apache.catalina.deploy.LoginConfig;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.security.Principal;
import java.util.logging.Logger;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
*/
public class DomainDelegatingAuthenticator extends AuthenticatorBase
{
private static Logger log = Logger.getLogger(DomainDelegatingAuthenticator.class.getName());
@Override
protected boolean authenticate(Request request, HttpServletResponse httpServletResponse, LoginConfig loginConfig) throws IOException
{
ThreadContext.set(Request.class.getName(), request);
ThreadContext.set(HttpServletResponse.class.getName(), httpServletResponse);
try
{
Principal principal = context.getRealm().authenticate("", "");
if (principal == null)
{
return false;
}
else
{
request.setUserPrincipal(principal);
}
}
finally
{
ThreadContext.clear();
}
return true;
}
}