From 269c5043ab8f66f67d5719ac5149a436ca1baa2b 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 Federation, Gitblit and Services manager from GitBlit singleton --- src/main/java/com/gitblit/AuthenticationFilter.java | 29 ++++++++++++++++++----------- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gitblit/AuthenticationFilter.java b/src/main/java/com/gitblit/AuthenticationFilter.java index 5319bf3..96d880f 100644 --- a/src/main/java/com/gitblit/AuthenticationFilter.java +++ b/src/main/java/com/gitblit/AuthenticationFilter.java @@ -35,17 +35,19 @@ 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; /** * 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 { @@ -55,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() { @@ -77,7 +85,7 @@ /** * Returns the full relative url of the request. - * + * * @param httpRequest * @return url */ @@ -94,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; } @@ -151,8 +159,7 @@ public AuthenticatedRequest(HttpServletRequest req) { super(req); - user = new UserModel("anonymous"); - user.isAuthenticated = false; + user = DeepCopier.copy(UserModel.ANONYMOUS); } UserModel getUser() { -- Gitblit v1.9.1