diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php index b8ca041bce..0d3a70575b 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; }