mirror of
https://github.com/nextcloud/server.git
synced 2026-06-09 00:32:29 -04:00
WebDAV Auth Connector: Check if already logged in
This commit is contained in:
parent
b16c5a6df7
commit
bf7514f76a
1 changed files with 21 additions and 0 deletions
|
|
@ -60,4 +60,25 @@ class OC_Connector_Sabre_Auth extends Sabre_DAV_Auth_Backend_AbstractBasic {
|
||||||
}
|
}
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override function here. We want to cache authentication cookies
|
||||||
|
* in the syncing client to avoid HTTP-401 roundtrips.
|
||||||
|
* If the sync client supplies the cookies, then OC_User::isLoggedIn()
|
||||||
|
* will return true and we can see this WebDAV request as already authenticated,
|
||||||
|
* even if there are no HTTP Basic Auth headers.
|
||||||
|
* In other case, just fallback to the parent implementation.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authenticate(Sabre_DAV_Server $server, $realm) {
|
||||||
|
if (OC_User::isLoggedIn()) {
|
||||||
|
$user = OC_User::getUser();
|
||||||
|
OC_Util::setupFS($user);
|
||||||
|
$this->currentUser = $user;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent::authenticate($server, $realm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue