summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/group_ldap.php
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2014-10-09 11:06:48 +0200
committerVincent Petry <pvince81@owncloud.com>2014-10-09 11:06:48 +0200
commitf7fc0067e0a33efd8ad9196867f18b44fee99b6f (patch)
tree969dfa733efbca9a6d5c8797a91bd7e4cf8d9796 /apps/user_ldap/group_ldap.php
parent3791de64edb5d64a0b3cc29994f0a3fa06e82a04 (diff)
downloadnextcloud-server-f7fc0067e0a33efd8ad9196867f18b44fee99b6f.tar.gz
nextcloud-server-f7fc0067e0a33efd8ad9196867f18b44fee99b6f.zip
Revert "[WIP] fix retrieval of group members and cache group members"
Diffstat (limited to 'apps/user_ldap/group_ldap.php')
-rw-r--r--apps/user_ldap/group_ldap.php27
1 files changed, 2 insertions, 25 deletions
diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php
index b8ca041bce3..0d3a70575ba 100644
--- a/apps/user_ldap/group_ldap.php
+++ b/apps/user_ldap/group_ldap.php
@@ -29,11 +29,6 @@ use OCA\user_ldap\lib\BackendUtility;
class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
protected $enabled = false;
- /**
- * @var string[] $cachedGroupMembers array of users with gid as key
- */
- protected $cachedGroupMembers = array();
-
public function __construct(Access $access) {
parent::__construct($access);
$filter = $this->access->connection->ldapGroupFilter;
@@ -61,21 +56,6 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
}
$userDN = $this->access->username2dn($uid);
-
- if(isset($this->cachedGroupMembers[$gid])) {
- $isInGroup = in_array($userDN, $this->cachedGroupMembers[$gid]);
- return $isInGroup;
- }
-
- $cacheKeyMembers = 'inGroup-members:'.$gid;
- if($this->access->connection->isCached($cacheKeyMembers)) {
- $members = $this->access->connection->getFromCache($cacheKeyMembers);
- $this->cachedGroupMembers[$gid] = $members;
- $isInGroup = in_array($userDN, $members);
- $this->access->connection->writeToCache($cacheKey, $isInGroup);
- return $isInGroup;
- }
-
$groupDN = $this->access->groupname2dn($gid);
// just in case
if(!$groupDN || !$userDN) {
@@ -90,9 +70,8 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
}
//usually, LDAP attributes are said to be case insensitive. But there are exceptions of course.
- $members = $this->_groupMembers($groupDN);
- $members = array_keys($members); // uids are returned as keys
- if(!is_array($members) || count($members) === 0) {
+ $members = array_keys($this->_groupMembers($groupDN));
+ if(!$members) {
$this->access->connection->writeToCache($cacheKey, false);
return false;
}
@@ -114,8 +93,6 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
$isInGroup = in_array($userDN, $members);
$this->access->connection->writeToCache($cacheKey, $isInGroup);
- $this->access->connection->writeToCache($cacheKeyMembers, $members);
- $this->cachedGroupMembers[$gid] = $members;
return $isInGroup;
}