From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001 From: Paul Martin <paul@paulsputer.com> Date: Sat, 30 Apr 2016 04:19:14 -0400 Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates --- src/main/java/com/gitblit/servlet/RpcFilter.java | 37 ++++++++++++++++--------------------- 1 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/RpcFilter.java b/src/main/java/com/gitblit/servlet/RpcFilter.java index 23bf956..355bcb9 100644 --- a/src/main/java/com/gitblit/servlet/RpcFilter.java +++ b/src/main/java/com/gitblit/servlet/RpcFilter.java @@ -18,8 +18,9 @@ import java.io.IOException; import java.text.MessageFormat; +import com.google.inject.Inject; +import com.google.inject.Singleton; import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -29,10 +30,9 @@ import com.gitblit.Constants.RpcRequest; import com.gitblit.IStoredSettings; import com.gitblit.Keys; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.UserModel; - -import dagger.ObjectGraph; /** * The RpcFilter is a servlet filter that secures the RpcServlet. @@ -47,17 +47,23 @@ * @author James Moger * */ +@Singleton public class RpcFilter extends AuthenticationFilter { private IStoredSettings settings; private IRuntimeManager runtimeManager; - @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { - super.inject(dagger, filterConfig); - this.settings = dagger.get(IStoredSettings.class); - this.runtimeManager = dagger.get(IRuntimeManager.class); + @Inject + public RpcFilter( + IStoredSettings settings, + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager) { + + super(authenticationManager); + + this.settings = settings; + this.runtimeManager = runtimeManager; } /** @@ -122,7 +128,7 @@ return; } else { // check user access for request - if (user.canAdmin() || canAccess(user, requestType)) { + if (user.canAdmin() || !adminRequest) { // authenticated request permitted. // pass processing to the restricted servlet. newSession(authenticatedRequest, httpResponse); @@ -147,15 +153,4 @@ // pass processing to the restricted servlet. chain.doFilter(authenticatedRequest, httpResponse); } - - private boolean canAccess(UserModel user, RpcRequest requestType) { - switch (requestType) { - case GET_PROTOCOL: - return true; - case LIST_REPOSITORIES: - return true; - default: - return user.canAdmin(); - } - } -} \ No newline at end of file +} -- Gitblit v1.9.1