summaryrefslogtreecommitdiffstats
path: root/files/webdav.php
diff options
context:
space:
mode:
authorJakob Sack <kde@jakobsack.de>2011-07-20 16:36:36 +0200
committerJakob Sack <kde@jakobsack.de>2011-07-20 16:36:36 +0200
commit86cd8063b49315246929f51774ac5314dab2c2cb (patch)
tree0559fc537bba3ef5679aba66d8d888e636e275e4 /files/webdav.php
parentbf1ca75710a99a96ba39790e9db79bb0a0f950b4 (diff)
downloadnextcloud-server-86cd8063b49315246929f51774ac5314dab2c2cb.tar.gz
nextcloud-server-86cd8063b49315246929f51774ac5314dab2c2cb.zip
Use SabreDAV authentication Code!
Diffstat (limited to 'files/webdav.php')
-rw-r--r--files/webdav.php40
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();
?>