From aa6d43e8b28ff73d69a920e9b3a7b284cfce00c3 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:51 -0500 Subject: [PATCH] Extract SessionManager from GitBlit singleton --- src/main/java/com/gitblit/AuthenticationFilter.java | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gitblit/AuthenticationFilter.java b/src/main/java/com/gitblit/AuthenticationFilter.java index 388452e..96d880f 100644 --- a/src/main/java/com/gitblit/AuthenticationFilter.java +++ b/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; } -- Gitblit v1.9.1