Astra Linux Directory Client Core API  1.7.0

#include "ldap-wrapper.h"

Открытые члены

virtual ~IALDLdapConnection ()
 
virtual ALDAuthType AuthType ()=0
 
virtual bool Connect (const string &server, ALDAuthType at)=0
 
virtual bool IsConnected ()=0
 
virtual void Disconnect ()=0
 
virtual long GetLastError ()=0
 
virtual bool IfReconnectNeeded ()=0
 
virtual string LocalToUtf8 (const string &strLocal)=0
 
virtual string Utf8ToLocal (const string &strUtf8)=0
 
virtual void AdjustGecosType ()=0
 
virtual CALDLdapEntPtr AllocEntity ()=0
 
virtual CALDLdapQueryPtr Search (const string &basedn, const string &filter, ald_string_list &attrs, alSCOPE scope=alsSUBTREE)=0
 
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 SetAttrValues (const string &dn, const string &attr, ald_string_list &vals, alOPERATION op=aloREPLACE)=0
 
virtual void UpdateDN (const string &dn, ald_string_multimap &modattrs)=0
 
virtual void DeleteDN (const string &dn)=0
 
virtual void AddDN (const string &dn, ald_string_multimap &attrs)=0
 
virtual void RenameDN (const string &dn, const string &newrdn)=0
 
virtual void SetAttrBinaryValue (const string &dn, const string &attr, const char *pval, unsigned long len, alOPERATION op=aloREPLACE)=0
 
virtual void * GetAttrBinaryValue (const string &dn, const string &attr, unsigned long &len)=0
 
virtual void EnsureOU (const string &dn)=0
 
virtual void EnumerateIndexes (ald_string_list &indexes)=0
 
virtual void AddDBIndex (const string &idx)=0
 
virtual void DeleteDBIndex (const string &idx)=0
 
virtual void EnumerateDBAccessRules (ald_string_list &rules)=0
 
virtual void AddDBAccessRule (int idx, const string &rule)=0
 
virtual void DeleteDBAccessRule (int idx)=0
 
virtual void EnumerateLdapSchemas (ald_string_list &schemas)=0
 
virtual bool IsLdapSchemaRegistered (const string &schema)=0
 
virtual void EnumerateModules (ald_string_list &modules)=0
 
virtual void EnumerateDatabases (ald_string_map &dbs)=0
 
virtual void EnumerateDBUniqueness (ald_string_list &uniqs)=0
 
virtual void AddDBUniqueness (const string &uniq)=0
 
virtual void DeleteDBUniqueness (const string &uniq)=0
 
virtual void EnumerateDBLimits (ald_string_map &limits)=0
 
virtual void AddDBLimit (const string &who, const string &limit)=0
 
virtual void DeleteDBLimit (const string &who)=0
 
virtual void EnumerateSyncRepls (ald_string_list &syncrepls)=0
 
virtual void AddSyncRepl (string rid, string provider)=0
 
virtual void DeleteSyncRepl (string rid, string provider)=0
 
virtual void EnumerateLdapProviders (ald_string_map &providers)=0
 
virtual void AddLdapProvider (const string &domain, string uri, const string &pwd)=0
 
virtual CALDLdapEntPtr GetLdapProvider (const string &domain)=0
 
virtual void UpdateLdapProvider (const string &domain, string uri)=0
 
virtual void DeleteLdapProvider (const string &domain)=0
 

Подробное описание

Абстрактный класс-интерфейс соединения с сервером LDAP.

Предоставляет интерфейс выполнения запросов к серверу LDAP

Конструктор(ы)

◆ ~IALDLdapConnection()

virtual ALD::IALDLdapConnection::~IALDLdapConnection ( )
inlinevirtual

Деструктор

Методы

◆ AddDBAccessRule()

virtual void ALD::IALDLdapConnection::AddDBAccessRule ( int  idx,
const string &  rule 
)
pure virtual

Добавление правила доступа

Аргументы
[in]idxНомер позиции вставки (могут быть ALD_LDAP_ACCESS_POS_FIRST и ALD_LDAP_ACCESS_POS_LAST)
[in]ruleПравило доступа

◆ AddDBIndex()

virtual void ALD::IALDLdapConnection::AddDBIndex ( const string &  idx)
pure virtual

Добавление индекса idx.

◆ AddDBLimit()

virtual void ALD::IALDLdapConnection::AddDBLimit ( const string &  who,
const string &  limit 
)
pure virtual

Добавление лимита

◆ AddDBUniqueness()

virtual void ALD::IALDLdapConnection::AddDBUniqueness ( const string &  uniq)
pure virtual

Добавление ограничения уникальности

◆ AddDN()

virtual void ALD::IALDLdapConnection::AddDN ( const string &  dn,
ald_string_multimap attrs 
)
pure virtual

Создание записи

Аргументы
[in]dnУникальное имя записи
[in]attrsТаблица значений атрибутов. Например:
attrs.insert(ald_string_pair(ALD_LDAP_GROUP_DESC, newdesc));

◆ AddLdapProvider()

virtual void ALD::IALDLdapConnection::AddLdapProvider ( const string &  domain,
string  uri,
const string &  pwd 
)
pure virtual

Добавление провайдера LDAP.

Аргументы
[in]domainДомен LDAP
[in]uriАдрес сервера LDAP (URI)
[in]pwdПароль

◆ AddSyncRepl()

virtual void ALD::IALDLdapConnection::AddSyncRepl ( string  rid,
string  provider 
)
pure virtual

Добавление узла репликации SyncRepl.

◆ AdjustGecosType()

virtual void ALD::IALDLdapConnection::AdjustGecosType ( )
pure virtual

Изменение типа поля gecos для поддержки русского языка

◆ AllocEntity()

virtual CALDLdapEntPtr ALD::IALDLdapConnection::AllocEntity ( )
pure virtual

Создание экземпляра связанного с соединением класса LDAP записи

◆ AuthType()

virtual ALDAuthType ALD::IALDLdapConnection::AuthType ( )
pure virtual

Текущий способ аутентификации

◆ Connect()

virtual bool ALD::IALDLdapConnection::Connect ( const string &  server,
ALDAuthType  at 
)
pure virtual

Установка соединения

Аргументы
[in]serverСтрока соединения с LDAP сервером (URI)
[in]atСпособ аутентификации ALDAuthType
Возвращает
Успешность выполнения операции

◆ DeleteAttr()

virtual void ALD::IALDLdapConnection::DeleteAttr ( const string &  dn,
const string &  attr 
)
pure virtual

Удаление атрибута записи

Аргументы
[in]dnУникальное имя записи
[in]attrИмя атрибута

◆ DeleteDBAccessRule()

virtual void ALD::IALDLdapConnection::DeleteDBAccessRule ( int  idx)
pure virtual

Удаление правила доступа по номеру idx.

◆ DeleteDBIndex()

virtual void ALD::IALDLdapConnection::DeleteDBIndex ( const string &  idx)
pure virtual

Удаление индекса idx.

◆ DeleteDBLimit()

virtual void ALD::IALDLdapConnection::DeleteDBLimit ( const string &  who)
pure virtual

Удаление лимита

◆ DeleteDBUniqueness()

virtual void ALD::IALDLdapConnection::DeleteDBUniqueness ( const string &  uniq)
pure virtual

Удаление ограничения уникальности

◆ DeleteDN()

virtual void ALD::IALDLdapConnection::DeleteDN ( const string &  dn)
pure virtual

Удаление записи по уникальному имени dn.

◆ DeleteLdapProvider()

virtual void ALD::IALDLdapConnection::DeleteLdapProvider ( const string &  domain)
pure virtual

Удаление провайдера репликация для домена LDAP.

◆ DeleteSyncRepl()

virtual void ALD::IALDLdapConnection::DeleteSyncRepl ( string  rid,
string  provider 
)
pure virtual

Удаление узла репликации SyncRepl.

◆ Disconnect()

virtual void ALD::IALDLdapConnection::Disconnect ( )
pure virtual

Завершение соединения с сервером

◆ EnsureOU()

virtual void ALD::IALDLdapConnection::EnsureOU ( const string &  dn)
pure virtual

Автоматическое создание пути классов типа organizationalUnit для заданного уникального имени dn.

◆ EnumerateDatabases()

virtual void ALD::IALDLdapConnection::EnumerateDatabases ( ald_string_map dbs)
pure virtual

Получение списка объявленных баз данных

◆ EnumerateDBAccessRules()

virtual void ALD::IALDLdapConnection::EnumerateDBAccessRules ( ald_string_list rules)
pure virtual

Получение списка правил доступа к LDAP.

Аргументы
[out]rulesСписок правил доступа

◆ EnumerateDBLimits()

virtual void ALD::IALDLdapConnection::EnumerateDBLimits ( ald_string_map limits)
pure virtual

Получение списка лимитов

◆ EnumerateDBUniqueness()

virtual void ALD::IALDLdapConnection::EnumerateDBUniqueness ( ald_string_list uniqs)
pure virtual

Получение списка ограничений уникальности

◆ EnumerateIndexes()

virtual void ALD::IALDLdapConnection::EnumerateIndexes ( ald_string_list indexes)
pure virtual

Получение списка индексов

◆ EnumerateLdapProviders()

virtual void ALD::IALDLdapConnection::EnumerateLdapProviders ( ald_string_map providers)
pure virtual

Получение списка провайдеров LDAP.

◆ EnumerateLdapSchemas()

virtual void ALD::IALDLdapConnection::EnumerateLdapSchemas ( ald_string_list schemas)
pure virtual

Получение списка зарегистрированных схем

◆ EnumerateModules()

virtual void ALD::IALDLdapConnection::EnumerateModules ( ald_string_list modules)
pure virtual

Получение списка загруженных модулей

◆ EnumerateSyncRepls()

virtual void ALD::IALDLdapConnection::EnumerateSyncRepls ( ald_string_list syncrepls)
pure virtual

Получение списка узлов репликации SyncRepl (модуль syncprov)

◆ GetAttrBinaryValue()

virtual void* ALD::IALDLdapConnection::GetAttrBinaryValue ( const string &  dn,
const string &  attr,
unsigned long &  len 
)
pure virtual

Получение двоичного значения атрибута записи

Аргументы
[in]dnУникальное имя записи
[in]attrИмя атрибута
[out]lenРазмер значение атрибута в байтах
Возвращает
Указатель на значение атрибута - должен быть освобожден с помощью free()

◆ GetLastError()

virtual long ALD::IALDLdapConnection::GetLastError ( )
pure virtual

Получение кода последней ошибки

◆ GetLdapProvider()

virtual CALDLdapEntPtr ALD::IALDLdapConnection::GetLdapProvider ( const string &  domain)
pure virtual

Получение проавйдера LDAP по домену

Аргументы
[in]domainДомен LDAP
Возвращает
Разделяемый указатель на интерфейс записи LDAP CALDLdapEntPtr

◆ IfReconnectNeeded()

virtual bool ALD::IALDLdapConnection::IfReconnectNeeded ( )
pure virtual

Проверка нужна ли переустановка соединения

◆ IsConnected()

virtual bool ALD::IALDLdapConnection::IsConnected ( )
pure virtual

Проверка установлено ли соединение

◆ IsLdapSchemaRegistered()

virtual bool ALD::IALDLdapConnection::IsLdapSchemaRegistered ( const string &  schema)
pure virtual

Проверка зарегистрированна ли схема

◆ LocalToUtf8()

virtual string ALD::IALDLdapConnection::LocalToUtf8 ( const string &  strLocal)
pure virtual

Перевод строки из локальной кодировки в UTF8.

◆ RenameDN()

virtual void ALD::IALDLdapConnection::RenameDN ( const string &  dn,
const string &  newrdn 
)
pure virtual

Переименование записи

Аргументы
[in]dnУникальное имя записи
[in]newrdnНовый путь в древе LDAP

◆ Search()

virtual CALDLdapQueryPtr ALD::IALDLdapConnection::Search ( const string &  basedn,
const string &  filter,
ald_string_list attrs,
alSCOPE  scope = alsSUBTREE 
)
pure virtual

Запрос к LDAP серверу

Выполняет поиск в дереве LDAP аналогично функции ldap_search или утилиты ldapsearch

Аргументы
[in]basednНачальная точка поиска
[in]filterЗапрос (фильтр)
[in]attrsСписок выбираемых атрибутов
[in]scopeУровни просмотра LDAP дерева alSCOPE
Возвращает
Разделяемый указатель на интерфейс результирующего набора записей LDAP IALDLdapQuery

◆ SetAttrBinaryValue()

virtual void ALD::IALDLdapConnection::SetAttrBinaryValue ( const string &  dn,
const string &  attr,
const char *  pval,
unsigned long  len,
alOPERATION  op = aloREPLACE 
)
pure virtual

Модификация двоичного значения атрибута записи

Аргументы
[in]dnУникальное имя записи
[in]attrИмя атрибута
[in]pvalУказатель на значение атрибута
[in]lenРазмер значение атрибута в байтах
[in]opОперация LDAP alOPERATION

◆ SetAttrValue()

virtual void ALD::IALDLdapConnection::SetAttrValue ( const string &  dn,
const string &  attr,
const string &  val,
alOPERATION  op = aloREPLACE 
)
pure virtual

Модификация значения атрибута записи

Аргументы
[in]dnУникальное имя записи
[in]attrИмя атрибута
[in]valЗначение атрибута
[in]opОперация LDAP alOPERATION

◆ SetAttrValues()

virtual void ALD::IALDLdapConnection::SetAttrValues ( const string &  dn,
const string &  attr,
ald_string_list vals,
alOPERATION  op = aloREPLACE 
)
pure virtual

Модификация значений атрибута записи

Аргументы
[in]dnУникальное имя записи
[in]attrИмя атрибута
[in]valsСписок значений атрибута
[in]opОперация LDAP alOPERATION

◆ UpdateDN()

virtual void ALD::IALDLdapConnection::UpdateDN ( const string &  dn,
ald_string_multimap modattrs 
)
pure virtual

Модификация записи

Аргументы
[in]dnУникальное имя записи
[in]modattrsТаблица модифицируемых значений атрибутов.
Имя атрибута в каждой паре должно предваряться префиксом при модификации записи LDAP из набора alOPERATION. Например:
if(!newdesc.empty())
newattrs.insert(ald_string_pair(string("=")+ALD_LDAP_GROUP_DESC, newdesc));
else if(!desc().empty())
newattrs.insert(ald_string_pair(string("!")+ALD_LDAP_GROUP_DESC, desc()));

◆ UpdateLdapProvider()

virtual void ALD::IALDLdapConnection::UpdateLdapProvider ( const string &  domain,
string  uri 
)
pure virtual

Изменения адреса сервера LDAP для домена LDAP.

◆ Utf8ToLocal()

virtual string ALD::IALDLdapConnection::Utf8ToLocal ( const string &  strUtf8)
pure virtual

Перевод строки из UTF8 в локальную кодировку


Объявления и описания членов класса находятся в файле: