From aa61fc86db4f5ebf645ecf69c6f5ec36f2973e5a Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 21 Feb 2014 11:14:47 -0500 Subject: [PATCH] Add GO launch parameter to specify daily, rolling log file generation --- src/main/java/com/gitblit/servlet/GitFilter.java | 46 ++++++++++++++++++++++++++++------------------ 1 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/GitFilter.java b/src/main/java/com/gitblit/servlet/GitFilter.java index f39d68f..402f72d 100644 --- a/src/main/java/com/gitblit/servlet/GitFilter.java +++ b/src/main/java/com/gitblit/servlet/GitFilter.java @@ -17,22 +17,19 @@ import java.text.MessageFormat; -import javax.inject.Inject; -import javax.inject.Singleton; +import javax.servlet.http.HttpServletRequest; -import com.gitblit.Constants; +import com.gitblit.Constants.AccessRestrictionType; +import com.gitblit.Constants.AuthorizationControl; import com.gitblit.GitBlitException; import com.gitblit.IStoredSettings; import com.gitblit.Keys; -import com.gitblit.Constants.AccessRestrictionType; -import com.gitblit.Constants.AuthorizationControl; -import com.gitblit.Keys.git; -import com.gitblit.manager.IRepositoryManager; -import com.gitblit.manager.IRuntimeManager; -import com.gitblit.manager.ISessionManager; +import com.gitblit.manager.IFederationManager; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; + +import dagger.ObjectGraph; /** * The GitFilter is an AccessRestrictionFilter which ensures that Git client @@ -42,7 +39,6 @@ * @author James Moger * */ -@Singleton public class GitFilter extends AccessRestrictionFilter { protected static final String gitReceivePack = "/git-receive-pack"; @@ -52,16 +48,15 @@ protected static final String[] suffixes = { gitReceivePack, gitUploadPack, "/info/refs", "/HEAD", "/objects" }; - private final IStoredSettings settings; + private IStoredSettings settings; - @Inject - public GitFilter( - IRuntimeManager runtimeManager, - ISessionManager sessionManager, - IRepositoryManager repositoryManager) { + private IFederationManager federationManager; - super(runtimeManager, sessionManager, repositoryManager); - this.settings = runtimeManager.getSettings(); + @Override + protected void inject(ObjectGraph dagger) { + super.inject(dagger); + this.settings = dagger.get(IStoredSettings.class); + this.federationManager = dagger.get(IFederationManager.class); } /** @@ -118,6 +113,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 -- Gitblit v1.9.1