На моей рабочей станции установлена ОС Ubuntu 18.04.Я использую библиотеку ldapcpp из OpenLDAP-2.4.47 в своем проекте Qt для авторизации на сервере MS ActiveDirectory.Код работает нормально.
LDAPControlSet* ctrls=new LDAPControlSet;
ctrls->add(LDAPCtrl(LDAP_CONTROL_MANAGEDSAIT));
cons->setServerControls(ctrls);
LDAPConnection *lc=new LDAPConnection("dc.mydomen.local",389);
lc->setConstraints(cons);
lc->bind("CN=username,OU=Programmer,OU=IVO,DC=mydomen,DC=local", "password",cons);
Моя рабочая станция находится в домене.
username@kubuntuit01:~$ sudo net ads testjoin
Join is OK
username@kubuntuit01:~$ sudo net ads keytab list
Vno Type Principal
2 des-cbc-crc HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
2 des-cbc-crc HOST/KUBUNTUIT01@MYDOMEN.LOCAL
2 des-cbc-md5 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
2 des-cbc-md5 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
2 aes128-cts-hmac-sha1-96 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
2 aes128-cts-hmac-sha1-96 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
2 aes256-cts-hmac-sha1-96 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
2 aes256-cts-hmac-sha1-96 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
2 arcfour-hmac-md5 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
2 arcfour-hmac-md5 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
Но я не могу подключиться, используя метод saslbind, используя код:
LDAPAsynConnection * sas;
sas = new LDAPAsynConnection();
sas->init("dc.mydomen.local",389);
sas->saslBind("KERBEROS","uid=HOST/KUBUNTUIT01,cn=VIVEYA.LOCAL,cn=gssapi,cn=auth",cons);
или
sas->saslBind("GSSAPI","uid=HOST/KUBUNTUIT01,cn=VIVEYA.LOCAL,cn=gssapi,cn=auth",cons);
В режиме отладки в отладчике строка сообщения содержит текст: « 80090308: LdapErr: DSID-0C0904DC, комментарий: ошибка AcceptSecurityContext, данные 57, v1db1 »,Я пробовал разные варианты авторизации, не знаю, что попробовать дальше.
спасибо