Я написал программу, которая считывает веб-сервиса, извлечения пользовательских данных, а затем должен нажать эти данные в ActiveDirectory, тем самым обновляя название пользователя, адрес, номера телефонов и т.д.Unboundid не возвращает запрошенные атрибуты LDAP. Зачем?
Проблема заключается в том, что, когда я выполните поиск, используя класс Unboundid Connection, запрошенные атрибуты не возвращаются. Ниже приведен код поиска:
SearchResult result = connection.search(properties.getProperty("ldap.search.baseDN"),
SearchScope.SUB, "(cn=" + userId + ")",
"personalTitle", "department", "company", "manager", "telephoneNumber",
"streetAddress", "I", "st", "postalCode", "c", "pager", "mobile",
"fax", "cn");
Вышеприведенный код находит нужного пользователя и атрибут сп возвращается, как и ожидалось, но другие атрибуты все не возвращаются. Если я подключаюсь к AD, используя JXplorer, используя те же учетные данные подключения, я могу видеть, что все необходимые атрибуты существуют, но просто не возвращаются.
Я попытался подставляя SearchRequest.ALL_OPERATIONAL_ATTRIBUTES, SearchRequest.ALL_USER_ATTRIBUTES и SearchRequest.REQUEST_ATTRS_DEFAULT, а не перечисление полей в явном виде, но без успеха.
Я также посмотрел на объект 'Schema' вернулся с 'connection.getSchema()' и можно увидеть, что personalTitle должны существовать:
connection.getSchema().getAttributeType("personalTitle")
Приведенный выше код возвращает:
1.2.840.113556 .1.2.615 ИМЯ 'personalTitle' SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' ОДИНОЧНОЕ ЗНАЧЕНИЕ
Возможно, это проблема с правами пользователя? Кто-нибудь испытал это и знает, как его решить?
Спасибо, Майк
Вы, сэр, очень осведомлены в этой области! Благодаря тонну. Я попробовал connection.getSchema() и проверил, что поля, которые я хочу заполнить, доступны. В настоящее время они просто не имеют никаких значений. –