sandbox/astraLdap/ldapauth/services.py
2024-11-02 14:14:15 +03:00

28 lines
No EOL
1.1 KiB
Python

import ldap
class LdapConnectManager:
def __init__(self, ldap_ip: str, ldap_domain: str):
self.ldap_ip = ldap_ip
self.ldap_domain = ldap_domain
def establish_ldap_connection(self):
try:
ldap_connection = ldap.initialize(f"ldap://{self.ldap_ip}")
print(ldap_connection)
return "All good"
except ldap.SERVER_DOWN:
print("Cannot connect to LDAP server")
return "Cannot connect to LDAP server"
def user_authentication(self, username: str, password: str):
ldap_connector = ldap.initialize(f"ldap://{self.ldap_ip}")
try:
ldap_connector.bind_s(f"dc=EPP,dc=RU,cn=vasya", password)
ldap_result = ldap_connector.search("dc=EPP,dc=RU", ldap.SCOPE_SUBTREE, "(&(objectClass=Person)(cn=vasya))", None)
res_type, data = ldap_connector.result(ldap_result, 0)
print(f"\n\n\n\n\n\n\n\n\n\n{data}")
return data
except ldap.SERVER_DOWN:
return "Server is offline"
except ldap.INVALID_CREDENTIALS:
return "Password is incorrect"