diff options
author | Jakob Sack <kde@jakobsack.de> | 2011-07-20 16:36:36 +0200 |
---|---|---|
committer | Jakob Sack <kde@jakobsack.de> | 2011-07-20 16:36:36 +0200 |
commit | 86cd8063b49315246929f51774ac5314dab2c2cb (patch) | |
tree | 0559fc537bba3ef5679aba66d8d888e636e275e4 /files/webdav.php | |
parent | bf1ca75710a99a96ba39790e9db79bb0a0f950b4 (diff) | |
download | nextcloud-server-86cd8063b49315246929f51774ac5314dab2c2cb.tar.gz nextcloud-server-86cd8063b49315246929f51774ac5314dab2c2cb.zip |
Use SabreDAV authentication Code!
Diffstat (limited to 'files/webdav.php')
-rw-r--r-- | files/webdav.php | 40 |
1 files changed, 12 insertions, 28 deletions
diff --git a/files/webdav.php b/files/webdav.php index ffcad303879..7d5855672ac 100644 --- a/files/webdav.php +++ b/files/webdav.php @@ -28,40 +28,24 @@ $RUNTIME_NOSETUPFS = true; require_once('../lib/base.php'); require_once('Sabre/autoload.php'); +require_once('Sabre/DAV/Auth/Backend/Owncloud.php'); require_once('Sabre/DAV/FS/OwncloudNode.php'); require_once('Sabre/DAV/FS/OwncloudFile.php'); require_once('Sabre/DAV/FS/OwncloudDirectory.php'); -ini_set('default_charset', 'UTF-8'); -#ini_set('error_reporting', ''); -@ob_clean(); +// Create ownCloud Dir +$publicDir = new OC_Sabre_DAV_FS_OwncloudDirectory(''); +$server = new Sabre_DAV_Server($publicDir); -if(empty($_SERVER['PHP_AUTH_USER']) && empty($_SERVER['REDIRECT_REMOTE_USER'])) { - header('WWW-Authenticate: Basic realm="ownCloud"'); - header('HTTP/1.0 401 Unauthorized'); - die('401 Unauthorized'); -} +// Path to our script +$server->setBaseUri($WEBROOT.'/files/webdav.php'); -$user=$_SERVER['PHP_AUTH_USER']; -$passwd=$_SERVER['PHP_AUTH_PW']; +// Auth backend +$authBackend = new OC_Sabre_DAV_Auth_Backend_Owncloud(); +$authPlugin = new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'); +$server->addPlugin($authPlugin); -if(OC_USER::login($user,$passwd)){ - OC_UTIL::setUpFS(); - - // Make sure there is a directory in your current directory named 'public'. We will be exposing that directory to WebDAV - $publicDir = new OC_Sabre_DAV_FS_OwncloudDirectory(''); - $server = new Sabre_DAV_Server($publicDir); - - // We're required to set the base uri, it is recommended to put your webdav server on a root of a domain - $server->setBaseUri($WEBROOT.'/files/webdav.php'); - - // And off we go! - $server->exec(); -} -else{ - header('WWW-Authenticate: Basic realm="ownCloud"'); - header('HTTP/1.0 401 Unauthorized'); - die('401 Unauthorized'); -} +// And off we go! +$server->exec(); ?> |