LDAP: reset user/group-config association only after exists-check, may performance in some cases
This commit is contained in:
parent
edd37c779d
commit
b066c0ff44
|
@ -76,8 +76,15 @@ class Group_Proxy extends lib\Proxy implements \OCP\GroupInterface {
|
|||
if(isset($this->backends[$prefix])) {
|
||||
$result = call_user_func_array(array($this->backends[$prefix], $method), $parameters);
|
||||
if(!$result) {
|
||||
//not found here, reset cache to null
|
||||
$this->writeToCache($cacheKey, null);
|
||||
//not found here, reset cache to null if group vanished
|
||||
//because sometimes methods return false with a reason
|
||||
$groupExists = call_user_func_array(
|
||||
array($this->backends[$prefix], 'groupExists'),
|
||||
array($gid)
|
||||
);
|
||||
if(!$groupExists) {
|
||||
$this->writeToCache($cacheKey, null);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
|
|
@ -76,8 +76,15 @@ class User_Proxy extends lib\Proxy implements \OCP\UserInterface {
|
|||
if(isset($this->backends[$prefix])) {
|
||||
$result = call_user_func_array(array($this->backends[$prefix], $method), $parameters);
|
||||
if(!$result) {
|
||||
//not found here, reset cache to null
|
||||
$this->writeToCache($cacheKey, null);
|
||||
//not found here, reset cache to null if user vanished
|
||||
//because sometimes methods return false with a reason
|
||||
$userExists = call_user_func_array(
|
||||
array($this->backends[$prefix], 'userExists'),
|
||||
array($uid)
|
||||
);
|
||||
if(!$userExists) {
|
||||
$this->writeToCache($cacheKey, null);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue