diff --git a/flask_simpleldap/__init__.py b/flask_simpleldap/__init__.py index ec5c4bc204f549cda0272e3e6afbaf03adab5eeb..a85848291931e22579aa297d25f16c68f97feb70 100644 --- a/flask_simpleldap/__init__.py +++ b/flask_simpleldap/__init__.py @@ -170,13 +170,13 @@ class LDAP(object): if not dn_only: fields = current_app.config['LDAP_USER_FIELDS'] query_filter = query_filter or \ - current_app.config['LDAP_USER_OBJECT_FILTER'] + current_app.config['LDAP_USER_OBJECT_FILTER'] query = ldap_filter.filter_format(query_filter, (user,)) elif group is not None: if not dn_only: fields = current_app.config['LDAP_GROUP_FIELDS'] query_filter = query_filter or \ - current_app.config['LDAP_GROUP_OBJECT_FILTER'] + current_app.config['LDAP_GROUP_OBJECT_FILTER'] query = ldap_filter.filter_format(query_filter, (group,)) conn = self.bind try: @@ -232,8 +232,11 @@ class LDAP(object): if current_app.config['LDAP_OPENLDAP']: group_member_filter = \ current_app.config['LDAP_GROUP_MEMBER_FILTER_FIELD'] - groups = [record[1][group_member_filter][0].decode( - 'utf-8') for record in records] + record_list = [record[1] for record in records] + record_dicts = [ + record for record in record_list if isinstance(record, dict)] + groups = [item.get([group_member_filter][0])[0] + for item in record_dicts] return groups else: if current_app.config['LDAP_USER_GROUPS_FIELD'] in \