def __ldap_load_members2(self, l, moderator=False):
attr = ['mail']
if not moderator and self.ldapfullname:
attr.append(self.ldapfullname)
if self.ldapgroupattr or moderator:
# group attribute or moderator flag has been set. Let's get the uids.
if moderator:
assert self.ldapmodgroupdn
groupdn = self.ldapmodgroupdn
else:
groupdn = self.ldapgroupdn
members = l.search_s(groupdn, ldap.SCOPE_SUBTREE,
self.ldapsearch, [self.ldapgroupattr])
for (dn,attrs) in members:
if self.ldapgroupattr in attrs:
memberids = attrs[self.ldapgroupattr]
if DEBUG:
syslog('debug','regular groupdns = %s' % groupdns)
for memberid in memberids:
try:
res2 = l.search_s(self.ldapbasedn,
ldap.SCOPE_SUBTREE,
'(&(objectClass=*)('+self.ldapmemberuid+'='+memberid+'))',
attr)
self.__loadmembers(res2, moderator)
except ldap.NO_SUCH_OBJECT:
syslog('warn',"can't process %s: no such object (accountDisabled?)" % memberid)
else:
members = l.search_s(self.ldapbasedn,
ldap.SCOPE_SUBTREE,
self.ldapsearch,
attr)
self.__loadmembers(members)
LDAP2Memberships.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录