"""LDAP authentication and authorization testing""" import json import logging import lldap from ldap3.core.exceptions import LDAPException logging.basicConfig(level=logging.INFO) def load_config(path: str) -> dict: with open(path, "r", encoding="utf-8") as f: return json.loads(f.read()) def main(): config = load_config("config.json") ldap = lldap.LLDAP( ldap_server=config['ldap_server'], bind_dn=config['bind_dn'], bind_password=config['bind_password'], user_dn=config['user_dn'], group_dn=config['group_dn'] ) # List all groups try: entries = ldap.list_groups() for entry in entries: print(entry) except LDAPException: logging.error("Failed to list groups due to LDAP error.") # List all users try: entries = ldap.list_users() for entry in entries: print(entry) except LDAPException: logging.error("Failed to list users due to LDAP error") if __name__ == '__main__': main()