28 lines
No EOL
1.1 KiB
Python
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" |