예제 #1
0
 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
예제 #2
0
    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
예제 #3
0
    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