2013-09-04 2 views
6

Я пытаюсь извлечь внутренние атрибуты LDAP пользователей, но не мог найти, как принести ихПопадая Внутренние атрибуты LDAP объекта

DirContext ctx = this.getDirContext(); 
List<Employee> list = new ArrayList<Employee>(); 
NamingEnumeration<SearchResult> results = null; 
try { 
    SearchControls controls = new SearchControls(); 
    controls.setSearchScope(SearchControls.SUBTREE_SCOPE); 
    results = ctx.search("", "(objectclass=person)", controls); 
    while (results.hasMore()) { 
    SearchResult searchResult = results.next(); 
    Attributes attributes = searchResult.getAttributes(); 
    String fullName = this.getValue(attributes.get("cn")); 
    //so on... 
} 
// so on 

из LDAP, я хочу получать каждый работник/чел внутренние атрибуты тоже. По умолчанию, это не возвращает внутренние атрибуты [например: createTimestamp]

enter image description here

ответ

12

Вы не получите каких-либо эксплуатационных атрибутов, если вы попросите их. В настоящее время вы не запрашиваете никаких атрибутов, что эквивалентно построению SearchControls или вызову SearchControls.setReturningAttributes(String[]) после этого, используя аргумент new String[]{"*"}:, это дает вам все неработающие атрибуты.

Для получения эксплуатационных атрибутов используйте аргумент new String[]{"*","+"}.

+0

Спасибо, решил мою проблему – Reddy

Смежные вопросы