From a74ddc24545ec45d0bb82ca2bb8f628ffdaa9da3 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 10 Oct 2014 12:04:39 -0400 Subject: [PATCH] Improve relative path determination using Java 7 Paths --- src/main/java/com/gitblit/servlet/AuthenticationFilter.java | 35 ++++++++++++----------------------- 1 files changed, 12 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/AuthenticationFilter.java b/src/main/java/com/gitblit/servlet/AuthenticationFilter.java index 214f204..c21f869 100644 --- a/src/main/java/com/gitblit/servlet/AuthenticationFilter.java +++ b/src/main/java/com/gitblit/servlet/AuthenticationFilter.java @@ -21,7 +21,6 @@ import java.util.HashMap; import java.util.Map; -import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; @@ -36,10 +35,13 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants; -import com.gitblit.manager.ISessionManager; +import com.gitblit.dagger.DaggerFilter; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.models.UserModel; import com.gitblit.utils.DeepCopier; import com.gitblit.utils.StringUtils; + +import dagger.ObjectGraph; /** * The AuthenticationFilter is a servlet filter that preprocesses requests that @@ -50,7 +52,7 @@ * @author James Moger * */ -public abstract class AuthenticationFilter implements Filter { +public abstract class AuthenticationFilter extends DaggerFilter { protected static final String CHALLENGE = "Basic realm=\"" + Constants.NAME + "\""; @@ -58,10 +60,11 @@ protected transient Logger logger = LoggerFactory.getLogger(getClass()); - protected final ISessionManager sessionManager; + protected IAuthenticationManager authenticationManager; - protected AuthenticationFilter(ISessionManager sessionManager) { - this.sessionManager = sessionManager; + @Override + protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { + this.authenticationManager = dagger.get(IAuthenticationManager.class); } /** @@ -108,7 +111,7 @@ * @return user */ protected UserModel getUser(HttpServletRequest httpRequest) { - UserModel user = sessionManager.authenticate(httpRequest, requiresClientCertificate()); + UserModel user = authenticationManager.authenticate(httpRequest, requiresClientCertificate()); return user; } @@ -135,20 +138,6 @@ } } } - } - - /** - * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) - */ - @Override - public void init(final FilterConfig config) throws ServletException { - } - - /** - * @see javax.servlet.Filter#destroy() - */ - @Override - public void destroy() { } /** @@ -184,7 +173,7 @@ // Gitblit does not currently use actual roles in the traditional // servlet container sense. That is the reason this is marked // deprecated, but I may want to revisit this. - return user.canAccessRepository(role); + return user.hasRepositoryPermission(role); } @Override @@ -192,4 +181,4 @@ return user; } } -} \ No newline at end of file +} -- Gitblit v1.9.1