def check_group_membership(username, group=None):
with initialize_connection() as connection:
connection.simple_bind_s(config.LDAP_BIND_DN, config.LDAP_BIND_PASSWORD)
if group is None:
query = config.LDAP_GROUP_ALL
else:
query = config.LDAP_GROUP_OBJECT_FILTER % {'group': ldap_filter.escape_filter_chars(group)}
results = connection.search_s(config.LDAP_GROUP_BASE_DN, ldap.SCOPE_SUBTREE, query)
members = itertools.chain.from_iterable([result[1]['memberUid']for result in results])
encoding = config.LDAP_ENCODING
members = [member.decode(encoding) for member in members]
is_member = username in members
return is_member
评论列表
文章目录