mirror of https://github.com/apache/archiva.git
MRM-781 - Removal of Archiva-Webdav implementation in favor of Jackrabbit-webdav
* Adding tests for DavSession attachment and release * Changed the ArchivaDavSessionProvider so that it does not rely on the WebApplicationContext git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@661630 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d8db8b9a57
commit
2a9044f11c
|
@ -30,10 +30,9 @@ import org.codehaus.plexus.redback.authentication.AuthenticationResult;
|
||||||
import org.codehaus.plexus.redback.policy.MustChangePasswordException;
|
import org.codehaus.plexus.redback.policy.MustChangePasswordException;
|
||||||
import org.codehaus.plexus.redback.policy.AccountLockedException;
|
import org.codehaus.plexus.redback.policy.AccountLockedException;
|
||||||
import org.codehaus.plexus.redback.xwork.filter.authentication.HttpAuthenticator;
|
import org.codehaus.plexus.redback.xwork.filter.authentication.HttpAuthenticator;
|
||||||
import org.codehaus.plexus.spring.PlexusToSpringUtils;
|
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:james@atlassian.com">James William Dumay</a>
|
* @author <a href="mailto:james@atlassian.com">James William Dumay</a>
|
||||||
|
@ -47,13 +46,10 @@ public class ArchivaDavSessionProvider
|
||||||
|
|
||||||
private HttpAuthenticator httpAuth;
|
private HttpAuthenticator httpAuth;
|
||||||
|
|
||||||
public ArchivaDavSessionProvider( WebApplicationContext applicationContext )
|
public ArchivaDavSessionProvider( ServletAuthenticator servletAuth, HttpAuthenticator httpAuth )
|
||||||
{
|
{
|
||||||
servletAuth =
|
this.servletAuth = servletAuth;
|
||||||
(ServletAuthenticator) applicationContext.getBean( PlexusToSpringUtils.buildSpringId( ServletAuthenticator.class.getName() ) );
|
this.httpAuth = httpAuth;
|
||||||
httpAuth =
|
|
||||||
(HttpAuthenticator) applicationContext.getBean( PlexusToSpringUtils.buildSpringId( HttpAuthenticator.ROLE,
|
|
||||||
"basic" ) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean attachSession( WebdavRequest request )
|
public boolean attachSession( WebdavRequest request )
|
||||||
|
@ -86,11 +82,7 @@ public class ArchivaDavSessionProvider
|
||||||
|
|
||||||
public void releaseSession( WebdavRequest request )
|
public void releaseSession( WebdavRequest request )
|
||||||
{
|
{
|
||||||
//Remove DavSession
|
request.setDavSession(null);
|
||||||
if (request.getDavSession() != null)
|
|
||||||
{
|
|
||||||
request.setDavSession(null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String removeContextPath( final DavServletRequest request )
|
private String removeContextPath( final DavServletRequest request )
|
||||||
|
|
|
@ -38,6 +38,8 @@ import javax.servlet.http.HttpServletRequest;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import org.apache.maven.archiva.security.ServletAuthenticator;
|
||||||
|
import org.codehaus.plexus.redback.xwork.filter.authentication.HttpAuthenticator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RepositoryServlet
|
* RepositoryServlet
|
||||||
|
@ -175,7 +177,13 @@ public class RepositoryServlet
|
||||||
resourceFactory =
|
resourceFactory =
|
||||||
(DavResourceFactory) wac.getBean( PlexusToSpringUtils.buildSpringId( ArchivaDavResourceFactory.class ) );
|
(DavResourceFactory) wac.getBean( PlexusToSpringUtils.buildSpringId( ArchivaDavResourceFactory.class ) );
|
||||||
locatorFactory = new ArchivaDavLocatorFactory();
|
locatorFactory = new ArchivaDavLocatorFactory();
|
||||||
sessionProvider = new ArchivaDavSessionProvider( wac );
|
|
||||||
|
ServletAuthenticator servletAuth =
|
||||||
|
(ServletAuthenticator) wac.getBean( PlexusToSpringUtils.buildSpringId( ServletAuthenticator.class.getName() ) );
|
||||||
|
HttpAuthenticator httpAuth =
|
||||||
|
(HttpAuthenticator) wac.getBean( PlexusToSpringUtils.buildSpringId( HttpAuthenticator.ROLE, "basic" ) );
|
||||||
|
|
||||||
|
sessionProvider = new ArchivaDavSessionProvider( servletAuth, httpAuth );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void configurationEvent( ConfigurationEvent event )
|
public void configurationEvent( ConfigurationEvent event )
|
||||||
|
|
|
@ -0,0 +1,444 @@
|
||||||
|
package org.apache.maven.archiva.webdav;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.security.Principal;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
|
import javax.servlet.RequestDispatcher;
|
||||||
|
import javax.servlet.ServletInputStream;
|
||||||
|
import javax.servlet.http.Cookie;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
import org.apache.jackrabbit.webdav.DavSessionProvider;
|
||||||
|
import org.apache.jackrabbit.webdav.WebdavRequest;
|
||||||
|
import org.apache.jackrabbit.webdav.WebdavRequestImpl;
|
||||||
|
import org.apache.maven.archiva.security.ServletAuthenticator;
|
||||||
|
import org.codehaus.plexus.redback.authentication.AuthenticationDataSource;
|
||||||
|
import org.codehaus.plexus.redback.authentication.AuthenticationException;
|
||||||
|
import org.codehaus.plexus.redback.authentication.AuthenticationResult;
|
||||||
|
import org.codehaus.plexus.redback.authorization.AuthorizationException;
|
||||||
|
import org.codehaus.plexus.redback.authorization.UnauthorizedException;
|
||||||
|
import org.codehaus.plexus.redback.policy.AccountLockedException;
|
||||||
|
import org.codehaus.plexus.redback.policy.MustChangePasswordException;
|
||||||
|
import org.codehaus.plexus.redback.system.SecuritySession;
|
||||||
|
import org.codehaus.plexus.redback.users.User;
|
||||||
|
import org.codehaus.plexus.redback.xwork.filter.authentication.HttpAuthenticator;
|
||||||
|
|
||||||
|
public class ArchivaDavSessionProviderTest extends TestCase
|
||||||
|
{
|
||||||
|
private DavSessionProvider sessionProvider;
|
||||||
|
|
||||||
|
private WebdavRequest request;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setUp()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
super.setUp();
|
||||||
|
sessionProvider = new ArchivaDavSessionProvider(new ServletAuthenticatorMock(), new HttpAuthenticatorMock());
|
||||||
|
request = new WebdavRequestImpl(new HttpServletRequestMock(), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAttachSession()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
assertNull(request.getDavSession());
|
||||||
|
sessionProvider.attachSession(request);
|
||||||
|
assertNotNull(request.getDavSession());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testReleaseSession()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
assertNull(request.getDavSession());
|
||||||
|
sessionProvider.attachSession(request);
|
||||||
|
assertNotNull(request.getDavSession());
|
||||||
|
|
||||||
|
sessionProvider.releaseSession(request);
|
||||||
|
assertNull(request.getDavSession());
|
||||||
|
}
|
||||||
|
|
||||||
|
private class HttpServletRequestMock implements HttpServletRequest
|
||||||
|
{
|
||||||
|
public Object getAttribute(String arg0) {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Enumeration getAttributeNames() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCharacterEncoding() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getContentLength() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContentType() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServletInputStream getInputStream()
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLocalAddr() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLocalName() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLocalPort() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Locale getLocale() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Enumeration getLocales()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getParameter(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map getParameterMap()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Enumeration getParameterNames()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getParameterValues(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProtocol() {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public BufferedReader getReader()
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRealPath(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRemoteAddr()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRemoteHost()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getRemotePort()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestDispatcher getRequestDispatcher(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getScheme()
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerName()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getServerPort()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSecure()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeAttribute(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttribute(String arg0, Object arg1)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCharacterEncoding(String arg0)
|
||||||
|
throws UnsupportedEncodingException
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getAuthType()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContextPath()
|
||||||
|
{
|
||||||
|
return "/";
|
||||||
|
}
|
||||||
|
|
||||||
|
public Cookie[] getCookies()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getDateHeader(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHeader(String arg0) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public Enumeration getHeaderNames()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Enumeration getHeaders(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIntHeader(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMethod()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPathInfo()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPathTranslated()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getQueryString()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRemoteUser()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRequestURI()
|
||||||
|
{
|
||||||
|
return "/";
|
||||||
|
}
|
||||||
|
|
||||||
|
public StringBuffer getRequestURL()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRequestedSessionId()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServletPath()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public HttpSession getSession(boolean arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public HttpSession getSession()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Principal getUserPrincipal()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRequestedSessionIdFromCookie()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRequestedSessionIdFromURL()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRequestedSessionIdFromUrl()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRequestedSessionIdValid()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isUserInRole(String arg0)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class ServletAuthenticatorMock implements ServletAuthenticator
|
||||||
|
{
|
||||||
|
public boolean isAuthenticated(HttpServletRequest arg0, AuthenticationResult arg1)
|
||||||
|
throws AuthenticationException, AccountLockedException, MustChangePasswordException
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAuthorized(HttpServletRequest arg0, SecuritySession arg1, String arg2, boolean arg3)
|
||||||
|
throws AuthorizationException, UnauthorizedException
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAuthorizedToAccessVirtualRepository(String arg0, String arg1)
|
||||||
|
throws UnauthorizedException
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class HttpAuthenticatorMock extends HttpAuthenticator
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void challenge(HttpServletRequest arg0, HttpServletResponse arg1, String arg2, AuthenticationException arg3)
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AuthenticationResult getAuthenticationResult(HttpServletRequest arg0, HttpServletResponse arg1)
|
||||||
|
throws AuthenticationException, AccountLockedException, MustChangePasswordException
|
||||||
|
{
|
||||||
|
return new AuthenticationResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AuthenticationResult authenticate(AuthenticationDataSource arg0)
|
||||||
|
throws AuthenticationException, AccountLockedException, MustChangePasswordException
|
||||||
|
{
|
||||||
|
return new AuthenticationResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void authenticate(HttpServletRequest arg0, HttpServletResponse arg1)
|
||||||
|
throws AuthenticationException
|
||||||
|
{
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map getContextSession()
|
||||||
|
{
|
||||||
|
return super.getContextSession();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SecuritySession getSecuritySession()
|
||||||
|
{
|
||||||
|
return super.getSecuritySession();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public User getSessionUser()
|
||||||
|
{
|
||||||
|
return super.getSessionUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isAlreadyAuthenticated()
|
||||||
|
{
|
||||||
|
return super.isAlreadyAuthenticated();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setSecuritySession(SecuritySession session)
|
||||||
|
{
|
||||||
|
super.setSecuritySession(session);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setSessionUser(User user) {
|
||||||
|
super.setSessionUser(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String storeDefaultUser(String user) {
|
||||||
|
return super.storeDefaultUser(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -19,25 +19,24 @@ package org.apache.maven.archiva.webdav;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.maven.archiva.webdav.ArchivaDavSessionProvider;
|
|
||||||
import org.apache.jackrabbit.webdav.DavException;
|
import org.apache.jackrabbit.webdav.DavException;
|
||||||
import org.apache.jackrabbit.webdav.WebdavRequest;
|
import org.apache.jackrabbit.webdav.WebdavRequest;
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:james@atlassian.com">James William Dumay</a>
|
* @author <a href="mailto:james@atlassian.com">James William Dumay</a>
|
||||||
*/
|
*/
|
||||||
public class UnauthenticatedDavSessionProvider extends ArchivaDavSessionProvider
|
public class UnauthenticatedDavSessionProvider extends ArchivaDavSessionProvider
|
||||||
{
|
{
|
||||||
public UnauthenticatedDavSessionProvider(WebApplicationContext applicationContext)
|
public UnauthenticatedDavSessionProvider()
|
||||||
{
|
{
|
||||||
super(applicationContext);
|
super(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean attachSession( WebdavRequest request )
|
public boolean attachSession( WebdavRequest request )
|
||||||
throws DavException
|
throws DavException
|
||||||
{
|
{
|
||||||
|
request.setDavSession(new ArchivaDavSession());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,10 +19,6 @@ package org.apache.maven.archiva.webdav;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
|
||||||
import org.springframework.web.context.support.WebApplicationContextUtils;
|
|
||||||
import org.apache.maven.archiva.webdav.RepositoryServlet;
|
|
||||||
|
|
||||||
import javax.servlet.ServletConfig;
|
import javax.servlet.ServletConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,10 +34,8 @@ public class UnauthenticatedRepositoryServlet
|
||||||
public synchronized void initServers( ServletConfig servletConfig )
|
public synchronized void initServers( ServletConfig servletConfig )
|
||||||
{
|
{
|
||||||
super.initServers(servletConfig);
|
super.initServers(servletConfig);
|
||||||
|
|
||||||
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext( servletConfig.getServletContext() );
|
UnauthenticatedDavSessionProvider sessionProvider = new UnauthenticatedDavSessionProvider();
|
||||||
|
|
||||||
UnauthenticatedDavSessionProvider sessionProvider = new UnauthenticatedDavSessionProvider(wac);
|
|
||||||
setDavSessionProvider(sessionProvider);
|
setDavSessionProvider(sessionProvider);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue