Overview
Artifactory supports WebDAV shares. A local or cached repository may be mounted as a secure WebDAV share, and made accessible from any WebDAV-supporting file manager, by referencing the URL of the target repository as follows:
http://host:port/artifactory/repo-path
When trying to deploy a file through WebDAV where file locking is enabled, the Artifactory log may display the following message:
"Received unsupported request method: lock".
In some cases, this can be solved by disabling file locking before mounting the repository and is done differently for each WebDAV client. For example, for davfs2 file locking is disabled as follows:
echo "use_locks 0" >> /etc/davfs2/davfs2.conf
Note that while for some clients file locking is disabled by default, it is not necessarily possible to disable file locking in all clients.
Authentication for davfs2 Clients
Davfs2 does not use preemptive authentication. Therefore, in order to authenticate using the user credentials, the client must be authenticated using two requests. The first request is sent without credentials and receives a 401 challenge in response. Then, a second request is sent, this time with the credentials.
Anonymous access with Artifactory
Artifactory may be configured to allow anonymous access and it will therefore accept requests without authentication.
In this case, Artifactory will not respond with a 401 challenge and you will get file access with anonymous user permissions which may be less than your own user permissions.
To access your repository through Artifactory with your full user permissions you need to add an authorization header to the client configuration. This way, the requests sent to Artifactory will be authenticated and there is no need to receive a 401 challenge and respond with a second request. Thus you are given anonymous access to Artifactory, and yet can still authenticate with your own credentials. This can be done as follows:
Encode your username and password credentials in base64 using the following Groovy script:
Groovy script
Basic ${”username:password".bytes.encodeBase64()}
Edit the file
/etc/davfs2/davfs2.conf
or~/.davfs2/davfs2.conf
and add the encoded credentials to the authorization header as follows:Adding authorization header
add_header Authorization “Basic c2hheTpwYXNzd29yZA==”
Authentication for Windows and other WebDAV clients
We suggest utilizing a tool such as Cyberduck (Open Source) when using Windows (see the note below) with WebDAV shared Artifactory repositories.
Limitation
Although the use of Windows WebDAV/ WebClient components to map/ mount a Windows Drive for a WebDAV shared Artifactory does provide a listing of the files - other operations such as copy/ move operations are utilizing WebDAV commands which are not supported by Artifactory.