|
Astra Linux Directory Client Core API
1.7.0
|
См. документацию.
6 #ifndef ALD_LDAP_WRAPPER
7 #define ALD_LDAP_WRAPPER
23 #define LDAP_ITF_NAME "ldap"
27 #define LDAP_ATTR_NULLABLE true
30 enum alSCOPE {alsBASE, alsONELEVEL, alsSUBTREE, alsCHILDREN};
57 virtual string ValByAttr(
const string& Attr,
bool nullable =
false) = 0;
92 virtual void Rename(
const string &newrdn) = 0;
174 virtual void DeleteAttr(
const string &dn,
const string &attr) = 0;
182 virtual void SetAttrValue(
const string &dn,
const string &attr,
const string &val,
223 virtual void RenameDN(
const string &dn,
const string &newrdn) = 0;
233 const char* pval,
unsigned long len,
243 unsigned long &len) = 0;
258 #define ALD_LDAP_ACCESS_POS_FIRST 0
259 #define ALD_LDAP_ACCESS_POS_LAST -1
282 virtual void AddDBLimit(
const string &who,
const string &limit) = 0;
298 virtual void AddLdapProvider(
const string &domain,
string uri,
const string &pwd) = 0;
331 #endif // ALD_LDAP_WRAPPER
ALDAuthType
Набор способов аутентификации
Definition: ALDCore.h:28
virtual void EnumerateIndexes(ald_string_list &indexes)=0
Получение списка индексов
Абстрактный класс-интерфейс соединения с сервером LDAP.
Definition: ldap-wrapper.h:134
virtual ~IALDLdapConnection()
Деструктор
Definition: ldap-wrapper.h:136
virtual string modified()=0
время модификации (GeneralizedTime = LDAP UTCTime syntax - 1.3.6.1.4.1.1466.115.121....
virtual void AddDBLimit(const string &who, const string &limit)=0
Добавление лимита
virtual void Delete()=0
Удаление
virtual void RenameDN(const string &dn, const string &newrdn)=0
Переименование записи
virtual bool IfReconnectNeeded()=0
Проверка нужна ли переустановка соединения
virtual string created()=0
время создания (GeneralizedTime = LDAP UTCTime syntax - 1.3.6.1.4.1.1466.115.121.1....
virtual CALDLdapEntPtr GetLdapProvider(const string &domain)=0
Получение проавйдера LDAP по домену
IALDLdapWrapper(IALDCore &Core)
Конструктор
Definition: ldap-wrapper.h:319
virtual void * GetAttrBinaryValue(const string &dn, const string &attr, unsigned long &len)=0
Получение двоичного значения атрибута записи
virtual string LocalToUtf8(const string &strLocal)=0
Перевод строки из локальной кодировки в UTF8.
virtual bool IsConnected()=0
Проверка установлено ли соединение
@ aloDELETE
Удаление всех значений атрибута (удаление атрибута)
Definition: ldap-wrapper.h:37
Абстрактный класс-интерфейс LDAP записи
Definition: ldap-wrapper.h:46
virtual void SetAttrBinaryValue(const string &dn, const string &attr, const char *pval, unsigned long len, alOPERATION op=aloREPLACE)=0
Модификация двоичного значения атрибута записи
virtual ~IALDLdapQuery()
Деструктор
Definition: ldap-wrapper.h:124
@ aloADD
Добавление заданного значения
Definition: ldap-wrapper.h:34
virtual void DeleteDBLimit(const string &who)=0
Удаление лимита
virtual string getDefaultURIs()=0
Список серверов LDAP по умолчанию
virtual void DeleteSyncRepl(string rid, string provider)=0
Удаление узла репликации SyncRepl.
virtual ~IALDLdapEntity()
Деструктор
Definition: ldap-wrapper.h:99
virtual void AddDN(const string &dn, ald_string_multimap &attrs)=0
Создание записи
alSCOPE
Уровни просмотра LDAP дерева
Definition: ldap-wrapper.h:30
virtual bool Fetch(CALDLdapEntPtr &Entity)=0
Получение записи
virtual long GetLastError()=0
Получение кода последней ошибки
virtual bool IsLdapSchemaRegistered(const string &schema)=0
Проверка зарегистрированна ли схема
virtual size_t ValsByAttr(const string &Attr, ald_string_list &vals, bool nullable=false)=0
Получение списка значений атрибута по имени
virtual void EnumerateDBLimits(ald_string_map &limits)=0
Получение списка лимитов
virtual void AddDBUniqueness(const string &uniq)=0
Добавление ограничения уникальности
virtual string ValByAttr(const string &Attr, bool nullable=false)=0
Получение значения атрибута по имени
shared_ptr< IALDLdapWrapper > CALDLdapWrapperPtr
Разделяемый указатель на интерфейс взаимодействия с LDAP IALDLdapWrapper.
Definition: ldap-wrapper.h:325
virtual void RegisterLdapSchema(const string &schema)=0
Регистрация заданной схемы на локальном сервере LDAP.
string DN
Уникальное имя
Definition: ldap-wrapper.h:49
virtual void EnumerateDatabases(ald_string_map &dbs)=0
Получение списка объявленных баз данных
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:242
virtual void EnumerateLdapSchemas(ald_string_list &schemas)=0
Получение списка зарегистрированных схем
alOPERATION
Операции LDAP (префиксы при модификации записи LDAP)
Definition: ldap-wrapper.h:33
virtual void First()=0
Переход к первой записи набора
virtual bool Connect(const string &server, ALDAuthType at)=0
Установка соединения
virtual void EnsureOU(const string &dn)=0
Автоматическое создание пути классов типа organizationalUnit для заданного уникального имени dn.
@ aloREPLACE
Установка заданного значения
Definition: ldap-wrapper.h:35
virtual CALDLdapEntPtr AllocEntity()=0
Создание экземпляра связанного с соединением класса LDAP записи
virtual int Count()=0
Количество записей в наборе
@ aloDELVAL
Удаление заданного значения
Definition: ldap-wrapper.h:36
virtual void DeleteAttr(const string &dn, const string &attr)=0
Удаление атрибута записи
virtual void SetAttrValue(const string &dn, const string &attr, const string &val, alOPERATION op=aloREPLACE)=0
Модификация значения атрибута записи
virtual void EnumerateModules(ald_string_list &modules)=0
Получение списка загруженных модулей
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
multimap< string, string > ald_string_multimap
MultiMAP строка => строка
Definition: ALDUtils.h:166
ald_string_multimap Attrs
Таблица значений атрибутов (имя, значение)
Definition: ldap-wrapper.h:50
virtual void DeleteDN(const string &dn)=0
Удаление записи по уникальному имени dn.
shared_ptr< IALDLdapEntity > CALDLdapEntPtr
Разделяемый указатель на интерфейс записи LDAP IALDLdapEntity.
Definition: ldap-wrapper.h:102
virtual bool IsValid()=0
Проверка валидности (не пустота DN)
list< CALDLdapEntPtr > ald_ldap_ent_list
Список разделяемых указателей на интерфейс записи LDAP IALDLdapEntity.
Definition: ldap-wrapper.h:104
virtual void DeleteLdapProvider(const string &domain)=0
Удаление провайдера репликация для домена LDAP.
shared_ptr< IALDLdapConnection > CALDLdapConnPtr
Разделяемый указатель на интерфейс соединения с сервером LDAP.
Definition: ldap-wrapper.h:310
virtual void SetAttrValues(const string &dn, const string &attr, ald_string_list &vals, alOPERATION op=aloREPLACE)=0
Модификация значений атрибута записи
virtual void EnumerateSyncRepls(ald_string_list &syncrepls)=0
Получение списка узлов репликации SyncRepl (модуль syncprov)
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
virtual string creator()=0
dn создателя
virtual void AddDBIndex(const string &idx)=0
Добавление индекса idx.
virtual void DeleteDBIndex(const string &idx)=0
Удаление индекса idx.
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:10
virtual ALDAuthType AuthType()=0
Текущий способ аутентификации
virtual void Disconnect()=0
Завершение соединения с сервером
virtual void Rename(const string &newrdn)=0
Переименование записи
virtual void EnumerateLdapProviders(ald_string_map &providers)=0
Получение списка провайдеров LDAP.
virtual void AddDBAccessRule(int idx, const string &rule)=0
Добавление правила доступа
shared_ptr< IALDLdapQuery > CALDLdapQueryPtr
Разделяемый указатель на интерфейс результирующего набора записей LDAP IALDLdapQuery.
Definition: ldap-wrapper.h:127
virtual void DeleteDBAccessRule(int idx)=0
Удаление правила доступа по номеру idx.
virtual CALDLdapConnPtr getConnection()=0
Создание экземпляра соединения с сервером LDAP CALDLdapConnPtr.
#define LDAP_ITF_NAME
Имя LDAP интерфейса
Definition: ldap-wrapper.h:24
Объявление основного интерфейса клиента Astra Linux Directory и необходимых для него типов и интерфей...
virtual void Clear()=0
Очистка экземпляра класса
virtual void EnumerateDBUniqueness(ald_string_list &uniqs)=0
Получение списка ограничений уникальности
virtual void UpdateDN(const string &dn, ald_string_multimap &modattrs)=0
Модификация записи
virtual void AdjustGecosType()=0
Изменение типа поля gecos для поддержки русского языка
virtual string Utf8ToLocal(const string &strUtf8)=0
Перевод строки из UTF8 в локальную кодировку
Базовый класс интерфейса
Definition: ALDCore.h:84
virtual void AddSyncRepl(string rid, string provider)=0
Добавление узла репликации SyncRepl.
virtual void Create()=0
Создание
virtual void DeleteDBUniqueness(const string &uniq)=0
Удаление ограничения уникальности
virtual void AddLdapProvider(const string &domain, string uri, const string &pwd)=0
Добавление провайдера LDAP.
virtual void EnumerateDBAccessRules(ald_string_list &rules)=0
Получение списка правил доступа к LDAP.
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
Абстрактный класс-интерфейс взаимодействия с LDAP.
Definition: ldap-wrapper.h:317
virtual CALDLdapQueryPtr Search(const string &basedn, const string &filter, ald_string_list &attrs, alSCOPE scope=alsSUBTREE)=0
Запрос к LDAP серверу
virtual void Update(ald_string_multimap &modattrs, bool inplace=false)=0
Модификация записи
virtual string modifier()=0
dn модификатора
virtual void UpdateLdapProvider(const string &domain, string uri)=0
Изменения адреса сервера LDAP для домена LDAP.
Абстрактный класс-интерфейс результирующего набора записей LDAP.
Definition: ldap-wrapper.h:112