Beispiel #1
0
 def search_identities(self, criteria, exact=False):
     with ldap_context(self.ldap_settings):
         search_filter = build_user_search_filter(criteria, self.settings['mapping'], exact=exact)
         if not search_filter:
             raise IdentityRetrievalFailed("Unable to generate search filter from criteria")
         for _, user_data in self._search_users(search_filter):
             yield IdentityInfo(self, identifier=user_data[self.ldap_settings['uid']][0], **to_unicode(user_data))
Beispiel #2
0
 def get_members(self):
     with ldap_context(self.ldap_settings):
         group_dns = self._iter_group()
         group_dn = next(group_dns)
         while group_dn:
             user_filter = build_user_search_filter({self.ldap_settings['member_of_attr']: {group_dn}}, exact=True)
             for _, user_data in self.provider._search_users(user_filter):
                 yield IdentityInfo(self.provider, identifier=user_data[self.ldap_settings['uid']][0],
                                    **to_unicode(user_data))
             group_filter = build_group_search_filter({self.ldap_settings['member_of_attr']: {group_dn}}, exact=True)
             subgroups = list(self.provider._search_groups(group_filter))
             group_dn = group_dns.send(subgroups)
Beispiel #3
0
 def search_identities(self, criteria, exact=False):
     with ldap_context(self.ldap_settings):
         search_filter = build_user_search_filter(criteria,
                                                  self.settings['mapping'],
                                                  exact=exact)
         if not search_filter:
             raise IdentityRetrievalFailed(
                 "Unable to generate search filter from criteria")
         for _, user_data in self._search_users(search_filter):
             yield IdentityInfo(
                 self,
                 identifier=user_data[self.ldap_settings['uid']][0],
                 **to_unicode(user_data))
Beispiel #4
0
 def get_members(self):
     with ldap_context(self.ldap_settings):
         group_dns = self._iter_group()
         group_dn = next(group_dns)
         while group_dn:
             user_filter = build_user_search_filter(
                 {self.ldap_settings['member_of_attr']: {group_dn}},
                 exact=True)
             for _, user_data in self.provider._search_users(user_filter):
                 yield IdentityInfo(
                     self.provider,
                     identifier=user_data[self.ldap_settings['uid']][0],
                     **to_unicode(user_data))
             group_filter = build_group_search_filter(
                 {self.ldap_settings['member_of_attr']: {group_dn}},
                 exact=True)
             subgroups = list(self.provider._search_groups(group_filter))
             group_dn = group_dns.send(subgroups)