Hello, I have extended Jackrabbit to allow HTTP digest authentication through WebDAV, as Windows 7 can't connect to a WebDAV repository using basic authentication. I would like to contribute to the project with this feature. The implementation is based on Tomcat's source code (I have used it as a reference to implement the same authentication handling in Jackrabbit). I hope that's not a problem.
In order to enable the digest authentication, you need to: - Change the WebDAV servlet from 'org.apache.jackrabbit.j2ee.SimpleWebdavServlet' to 'org.apache.jackrabbit.j2ee.DigestWebdavServlet' in the web.xml file; - Change the LoginModule to 'org.apache.jackrabbit.core.security.simple.DigestLoginModule' in the repository.xml file - Add the parameter 'passwordsFile' to the DigestLoginModule with the path of the passwords file. - Add to the passwords file created above the user id and the password digest. The utility DigestPasswordUtil in the jackrabbit-jcr-commons project can be used to generate the entry to be appended to the passwords file. java -cp target/jackrabbit-jcr-commons-2.2-SNAPSHOT.jar org.apache.jackrabbit.util.DigestPasswordUtil user realm password The DigestLoginModule configuration is optional, I believe the DigestWebdavServlet should work normally with the SimpleLoginModule which accepts any credentials. Kindly, Douglas
http-digest.patch
Description: Binary data
