master3.3
Самоукин Алексей 14 years ago
parent 9b804ac9be
commit b43f8ca03b

@ -65,7 +65,7 @@ class ldapUser(_error):
# Подключение к LDAP # Подключение к LDAP
conLdap = False conLdap = False
def getDataInLdapConf(self, bindData=False, cache=True): def getDataInLdapConf(self, bindData=True, cache=True):
"""Получение данных из /etc/ldap.conf""" """Получение данных из /etc/ldap.conf"""
data = [("host",'host'), data = [("host",'host'),
("usersDN",'nss_base_passwd'), ("usersDN",'nss_base_passwd'),
@ -110,17 +110,40 @@ class ldapUser(_error):
else: else:
return {} return {}
def getBindConnectData(self):
"""Получение данных для соединения с LDAP bind пользователем"""
configdata = self.getDataInLdapConf()
if configdata:
bindDn = configdata["bindDn"][0]
bindPw = configdata["bindPw"][0]
host = configdata["host"][0]
return bindDn, bindPw, host
return False
def getUsersDN(self):
"""Получение DN пользователей"""
configdata = self.getDataInLdapConf(bindData=False)
if configdata:
usersDN = self._dictData["usersDN"][0]
return usersDN
return False
def getGroupsDN(self):
"""Получение списка DN групп"""
configdata = self.getDataInLdapConf(bindData=False)
if configdata:
groupsDNs = self._dictData["groupsDN"]
return groupsDNs
return False
def getUserLdapInfo(self, userName): def getUserLdapInfo(self, userName):
"""Выдаем информацию о пользователе из LDAP""" """Выдаем информацию о пользователе из LDAP"""
# Получаем информацию из /etc/ldap.conf connectData = self.getBindConnectData()
retData = self.getDataInLdapConf(bindData=True, cache=True) if not connectData:
if not retData:
return {} return {}
bindDn = self._dictData["bindDn"][0] bindDn, bindPw, host = connectData
bindPw = self._dictData["bindPw"][0] usersDN = self.getUsersDN()
host = self._dictData["host"][0] groupsDNs = self.getGroupsDN()
usersDN = self._dictData["usersDN"][0]
groupsDNs = self._dictData["groupsDN"]
# Соединяемся с LDAP # Соединяемся с LDAP
if not self.ldapConnect(bindDn, bindPw, host): if not self.ldapConnect(bindDn, bindPw, host):
return False return False

Loading…
Cancel
Save