def connectToLDAP(self, adminDn, adminPw): """Подключаемся к LDAP - для внешних программ запускающихся не от root """ ldapObj = ldapFunction(adminDn, adminPw) # Генератор задержек wait = genSleep() while ldapObj.getError(): try: # Задержка wait.next() except StopIteration: break # Очистка ошибки _error.error = [] ldapObj = ldapFunction(adminDn, adminPw) if ldapObj.getError(): # Удаляем одинаковые ошибки listError = [] for e in ldapObj.error: if not e in listError: listError.append(e) _error.error = listError self.printERROR (_("LDAP connection error") + ": " +\ ldapObj.getError().strip()) return False # Устанавливаем у объекта соединение и объект LDAP функций self.ldapObj = ldapObj self.conLdap = ldapObj.conLdap return True
def connectLdapServer(self): """Соединяемся с LDAP сервером используем DN и пароль временного админстратора """ # Если раннее была ошибка то выходим if self.getError(): self.printERROR(_("ERROR") + ": " + self.getError().strip()) return False tmpDn = self.clVars.Get("ld_temp_dn") tmpPw = self.clVars.Get("ld_temp_pw") ldapObj = ldapFunction(tmpDn, tmpPw) # Генератор задержек wait = genSleep() while ldapObj.getError(): try: # Задержка wait.next() except StopIteration: break # Очистка ошибки _error.error = [] ldapObj = ldapFunction(tmpDn, tmpPw) self.ldapObj = ldapObj self.conLdap = ldapObj.conLdap if ldapObj.getError(): # Удаляем одинаковые ошибки listError = [] for e in ldapObj.error: if not e in listError: listError.append(e) _error.error = listError self.printERROR(_("Can not connected to LDAP server")) return False return True
def getLdapObjInFile(self, part="admin"): """Получаем объект ldapFunction из ini файла В выходном объекте есть соединение с LDAP сервером: self.conLdap """ # Если раннее была ошибка то выходим if self.getError(): self.printERROR (_("ERROR") + ": " +\ self.getError().strip()) return False ldapParser = iniLdapParser() adminDn = ldapParser.getVar(part,"DN") adminPw = ldapParser.getVar(part,"PASS") if not (adminDn or adminPw): if part == "admin": service = "LDAP" else: service = part self.printERROR(\ _("Admin password for service %s could not be found")%service) return False ldapObj = ldapFunction(adminDn, adminPw) # Генератор задержек wait = genSleep() while ldapObj.getError(): try: # Задержка wait.next() except StopIteration: break # Очистка ошибки _error.error = [] ldapObj = ldapFunction(adminDn, adminPw) if ldapObj.getError(): # Удаляем одинаковые ошибки listError = [] for e in ldapObj.error: if not e in listError: listError.append(e) _error.error = listError self.printERROR (_("LDAP connection error") + ": " +\ ldapObj.getError().strip()) return False # Устанавливаем у объекта соединение и объект LDAP функций self.ldapObj = ldapObj self.conLdap = ldapObj.conLdap return True