pylldap/main.py

44 lines
1.0 KiB
Python
Raw Permalink Normal View History

2024-06-02 18:14:30 +00:00
"""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()