2013-09-04 9 views
6

sto cercando di recuperare gli attributi interni LDAP utente, ma non riusciva a trovare il modo per andare a prendere loroCome attributi interni di LDAP Object

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 

da LDAP, voglio prendere ogni dipendente/persona attributi interni troppo. Per impostazione predefinita, non è il ritorno gli attributi interni [es: createTimestamp]

enter image description here

risposta

12

non sarà possibile ottenere alcun attributi operativi a meno che non li chiedete. Al momento non stai richiedendo alcun attributo, che equivale a costruire il , o chiamando lo SearchControls.setReturningAttributes(String[]) in seguito, utilizzando l'argomento new String[]{"*"}: questo ti dà tutti gli attributi non operativi.

Per ottenere anche gli attributi operativi, utilizzare l'argomento new String[]{"*","+"}.

+0

Grazie, risolto il mio problema – Reddy