LDAP2Memberships.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:mailman-ldap-memberadaptor 作者: rettenbs 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号