James Moger
2013-11-25 23e08cdfd5f61e06f584c7fce4e765dd8b6e6643
src/main/java/com/gitblit/servlet/GitFilter.java
@@ -18,6 +18,7 @@
import java.text.MessageFormat;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.Constants.AuthorizationControl;
@@ -25,8 +26,10 @@
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.manager.IUserManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
@@ -50,14 +53,22 @@
   private final IStoredSettings settings;
   private final IUserManager userManager;
   private final IFederationManager federationManager;
   @Inject
   public GitFilter(
         IRuntimeManager runtimeManager,
         IUserManager userManager,
         IAuthenticationManager authenticationManager,
         IRepositoryManager repositoryManager) {
         IRepositoryManager repositoryManager,
         IFederationManager federationManager) {
      super(runtimeManager, authenticationManager, repositoryManager);
      this.settings = runtimeManager.getSettings();
      this.userManager = userManager;
      this.federationManager = federationManager;
   }
   /**
@@ -114,6 +125,21 @@
   }
   /**
    * Returns the user making the request, if the user has authenticated.
    *
    * @param httpRequest
    * @return user
    */
   @Override
   protected UserModel getUser(HttpServletRequest httpRequest) {
      UserModel user = authenticationManager.authenticate(httpRequest, requiresClientCertificate());
      if (user == null) {
         user = federationManager.authenticate(httpRequest);
      }
      return user;
   }
   /**
    * Determine if a non-existing repository can be created using this filter.
    *
    * @return true if the server allows repository creation on-push