Incorporating WebDAV and Sakai, Sakai 2.0 versions

WebDAV Requirements for Sakai 2.0.+ implementations

PROBLEM STATEMENT

WebDAV may be used to reference file systems as extensions of http protocol. WebDAV (Web Distributed Authoring and Versioning) is an attractive feature of Sakai, and there are many different webdav clients. Sakai offers users the ability to use WebDAV, however some modifications need to be made to the base UserDirectoryProvider in order for this to occur. Customization(s) of the UserDirectoryProvider are required because WebDAV uses BASIC authn, and a user may use Sakai's Dav server without logging into Sakai first. Due to the fact that WebDAV is not browser based, and some webDAV clients use cookies but others do not, WebDAV must be authenticated to the KDC instead of DistAuth.

REQUIREMENTS

Based on use cases described below, the following requirements must be met for WebDAV and auth in Sakai:
#1. Users should be able to drag files/folders from a mapped drive via WebDAV into Sakai
#2. Users should be authenticated for WebDAV and Sakai via protected means across HTTPS
#3. Users should be asked for their Kerberos principal during auth to WebDAV
#4. Dav must support all types of files/folders, and be cross-platform
#5. Users must be able to use Dav across different resource areas

SOLUTION

In order to use WebDAV and Sakai, a custom UserDirectoryProvider has to be downloaded in order for passwords to be handled appropriately and checked against the KDC. WebDAV uses Basic Authentication, so the passwords from the various WebDAV client(s) must be encrypted and checked against the KDC. This can be done via SSL. Many additional modifications need to be made to the Sakai framework in order for WebDAV to work correctly with DistAuth.

Demo of WebDav in action, Sakai 2.0 (see webdav screencapture attachment, Flash required)

See attachment below