Russian Qt Forum

Qt => Базы данных => Тема начата: Авварон от Апрель 19, 2009, 23:19



Название: Active Directory
Отправлено: Авварон от Апрель 19, 2009, 23:19
с помощью каких библиотек можно из Qt работать с Active Directory? вроде как самба умеет - можно ли ее собрать под винду (имеет ли смысл или лучше пользоваться нативными вызовами винды)? Просто хочется кроссплатформенность сохранить. Еще гугл выдал вот такую наколеночную библиотеку: http://www.dp.uz.gov.ua/o.palij/libadclient/ (http://www.dp.uz.gov.ua/o.palij/libadclient/). Есть ли еще варианты?


Название: Re: Active Directory
Отправлено: crossly от Апрель 21, 2009, 16:38
OpenLDAP


Название: Re: Active Directory
Отправлено: Авварон от Апрель 23, 2009, 15:26
я слышал, что у опенлдапа есть какие-то косяки при работе с АД, потому что мелкософт в свое время слегка отошел от стандарта, это так? Да, и как его собрать под винду? нашел только сишную библиотеку, долго линковал, но таки получилось... а вот с++ обертки нету, где ее взять?


Название: Re: Active Directory
Отправлено: crossly от Апрель 25, 2009, 10:16
ldapc++ ... что касается мелкософта.... он чаще свои стандарты придумывает....  причём чаще не придумывает  а изменяет нормальные... общепринятые... за что ему большой - .... деньги... этим все сказано...


Название: Re: Active Directory
Отправлено: Авварон от Апрель 26, 2009, 16:00
ну обертка оказывается входит в пакет опенлдапа с одноименного сайта. Другое дело что я не могу ее собрать - там же нужно ./configure делать, а как это сделать под мастдаей - фиг знает. Пробовал через сигвин, конфигур естессно запоролся (не нашел ф-ию select, если правильно помню...) где взять уже собранные dllки? :хнык:
и еще вопрос - косяки с АД совсем страшные или жить можно?


Название: Re: Active Directory
Отправлено: Авварон от Апрель 30, 2009, 11:04
ну что, нигде нету собранной библиотеки под винду??


Название: Re: Active Directory
Отправлено: ритт от Апрель 30, 2009, 12:02
mingw.org поможет


Название: Re: Active Directory
Отправлено: Авварон от Апрель 30, 2009, 18:18
чем же? предлагаешь ручками написать мейкфайл?


Название: Re: Active Directory
Отправлено: ритт от Апрель 30, 2009, 22:41
а ./configure && make уже не круто?


Название: Re: Active Directory
Отправлено: Авварон от Май 03, 2009, 15:51
а sh я где возьму?


Название: Re: Active Directory
Отправлено: ритт от Май 03, 2009, 15:54
mSYS - там же


Название: Re: Active Directory
Отправлено: Авварон от Май 03, 2009, 21:44
а будет ли больше успехов, чем при сборке под сигвин?) там я продвинулся до новой ошибки - отсутствия бэкендов berkley DB


Название: Re: Active Directory
Отправлено: ритт от Май 03, 2009, 21:48
а беркли сейчас, вроде, без особого гемора под вендой собирается. для студии даже проектики есть.


Название: Re: Active Directory
Отправлено: Авварон от Май 05, 2009, 18:43
путем гугла и шаманских плясок сумел собрать ldapcpp.la и прилинковать ее к libldapldap.dll. А дальше что? .la это что за расширение? как его линковать в приложение?


Название: Re: Active Directory
Отправлено: ритт от Май 06, 2009, 10:02
дальше .la тебе не нужен. линкуйся к dll как обычно


Название: Re: Active Directory
Отправлено: Авварон от Май 06, 2009, 11:14
не, ты не понял - результатом сборки make'ом была получена libldapcpp.la. Чтобы ее собрать, нужны libldap.dll, liblber.dll и тп. Сейчас просто цепляю эту .la как библиотеку к проекту - вроде работает (по крайней мере экземпляры класса создаются). А вот как получить отдельную .dll из этой .la непонятно.


Название: Re: Active Directory
Отправлено: ритт от Май 06, 2009, 13:07
что-то странное. по идее, .la - это файл описания либы libtool...


Название: Re: Active Directory
Отправлено: Авварон от Май 06, 2009, 16:56
я наврал, к проекту линкую .a файл. Это я так понимаю статич библиотека? как из нее таки получить длл?:)


Название: Re: Active Directory
Отправлено: ритт от Май 06, 2009, 20:30
бгг...никак
пересобери ldapcpp с опцией динамической сборки


Название: Re: Active Directory
Отправлено: Авварон от Май 07, 2009, 11:03
Ладно, фиг с ней с библиотекой пока что...
Что я делаю не так?
Код:
    LDAPConnection lc("***.*.ru");
    try
    {
        lc.bind("CN=блаблабла,DC=ru", "пароль");
    }
соответсвенно ввожу DN своей учетной записи и ее же пароль. Вылетает исключение с сообщением "Invalid credentials"

added: разобрался, похоже проблема была в русских буквах