| | |
| | | import java.util.HashMap;
|
| | | import java.util.Map;
|
| | |
|
| | | import javax.servlet.Filter;
|
| | | import javax.servlet.FilterChain;
|
| | | import javax.servlet.FilterConfig;
|
| | | import javax.servlet.ServletException;
|
| | | import javax.servlet.ServletRequest;
|
| | | import javax.servlet.ServletResponse;
|
| | |
| | | import org.slf4j.LoggerFactory;
|
| | |
|
| | | import com.gitblit.Constants;
|
| | | 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
|
| | |
| | | * @author James Moger
|
| | | *
|
| | | */
|
| | | public abstract class AuthenticationFilter extends DaggerFilter {
|
| | | public abstract class AuthenticationFilter implements Filter {
|
| | |
|
| | | protected static final String CHALLENGE = "Basic realm=\"" + Constants.NAME + "\"";
|
| | |
|
| | |
| | |
|
| | | protected IAuthenticationManager authenticationManager;
|
| | |
|
| | | protected AuthenticationFilter(IAuthenticationManager authenticationManager) {
|
| | | this.authenticationManager = authenticationManager;
|
| | | }
|
| | |
|
| | | @Override
|
| | | protected void inject(ObjectGraph dagger) {
|
| | | this.authenticationManager = dagger.get(IAuthenticationManager.class);
|
| | | public void init(FilterConfig filterConfig) throws ServletException {
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void destroy() {
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | * @return url
|
| | | */
|
| | | protected String getFullUrl(HttpServletRequest httpRequest) {
|
| | | String servletUrl = httpRequest.getContextPath() + httpRequest.getServletPath();
|
| | | String url = httpRequest.getRequestURI().substring(servletUrl.length());
|
| | | String contextPath = httpRequest.getContextPath();
|
| | | String servletPath = httpRequest.getServletPath();
|
| | | String pathInfo = httpRequest.getPathInfo();
|
| | | String servletUrl = contextPath + servletPath;
|
| | | String requestURI = httpRequest.getRequestURI();
|
| | | String url = requestURI.substring(servletUrl.length());
|
| | | String params = httpRequest.getQueryString();
|
| | | if (url.length() > 0 && url.charAt(0) == '/') {
|
| | | url = url.substring(1);
|