James Moger
2013-11-18 cacf8bff097fbb66a7be1bfe267b5da2605145f8
src/main/java/com/gitblit/AuthenticationFilter.java
@@ -35,6 +35,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.gitblit.manager.ISessionManager;
import com.gitblit.models.UserModel;
import com.gitblit.utils.DeepCopier;
import com.gitblit.utils.StringUtils;
@@ -42,11 +43,11 @@
/**
 * The AuthenticationFilter is a servlet filter that preprocesses requests that
 * match its url pattern definition in the web.xml file.
 *
 *
 * http://en.wikipedia.org/wiki/Basic_access_authentication
 *
 *
 * @author James Moger
 *
 *
 */
public abstract class AuthenticationFilter implements Filter {
@@ -56,20 +57,26 @@
   protected transient Logger logger = LoggerFactory.getLogger(getClass());
   protected final ISessionManager sessionManager;
   protected AuthenticationFilter(ISessionManager sessionManager) {
      this.sessionManager = sessionManager;
   }
   /**
    * doFilter does the actual work of preprocessing the request to ensure that
    * the user may proceed.
    *
    *
    * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest,
    *      javax.servlet.ServletResponse, javax.servlet.FilterChain)
    */
   @Override
   public abstract void doFilter(final ServletRequest request, final ServletResponse response,
         final FilterChain chain) throws IOException, ServletException;
   /**
    * Allow the filter to require a client certificate to continue processing.
    *
    *
    * @return true, if a client certificate is required
    */
   protected boolean requiresClientCertificate() {
@@ -78,7 +85,7 @@
   /**
    * Returns the full relative url of the request.
    *
    *
    * @param httpRequest
    * @return url
    */
@@ -95,12 +102,12 @@
   /**
    * Returns the user making the request, if the user has authenticated.
    *
    *
    * @param httpRequest
    * @return user
    */
   protected UserModel getUser(HttpServletRequest httpRequest) {
      UserModel user = GitBlit.self().authenticate(httpRequest, requiresClientCertificate());
      UserModel user = sessionManager.authenticate(httpRequest, requiresClientCertificate());
      return user;
   }