2013-09-04 29 views
6

Próbuję pobrać wewnętrzne atrybuty LDAP użytkownika, ale nie mógł znaleźć sposobu, aby przynieść imPierwsze wewnętrzne Atrybuty obiektu 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 

z LDAP, chcę sprowadzić wewnętrzne atrybuty każdy pracownik/osoba też. domyślnie nie jest powrocie wewnętrzne atrybuty [ex: createTimestamp]

enter image description here

Odpowiedz

12

Nie dostaniesz żadnych atrybutów operacyjnych chyba poprosić o nich. W chwili obecnej nie pytasz o żadne atrybuty, które są równoważne z budową SearchControls, lub później wywołanie SearchControls.setReturningAttributes(String[]), przy użyciu argumentu new String[]{"*"}: daje to wszystkie nieoperacyjne atrybuty.

Aby uzyskać również atrybuty operacyjne, użyj argumentu new String[]{"*","+"}.

+0

Dzięki, rozwiązałem mój problem – Reddy