Я пытаюсь найти CN имени пользователя путем поиска атрибута employeeID (который уникален для каждого сотрудника). Я уже получил его, чтобы он возвращал строку со всеми атрибутами, но я хочу, чтобы он возвращал только CN пользователя (например, «John Doe» или «cn = John Doe»; оба в порядке)
public void getEmployeeId(String id) {
// TODO stuff
String groupName = "ou=Accounts,DC=PORTAL,DC=COMPANY,DC=BE";
try {
System.out.println("Creating initial directory context...");
LdapContext ctx = new InitialLdapContext(env, null);
// Create default search controls
SearchControls ctls = new SearchControls();
// Search for user with 'id' as value for employeeID attribute
String filter = "(&(employeeID=" +id + "))";
// Search for objects using filter
NamingEnumeration answer = ctx.search(groupName, filter, ctls);
// Print the answer
// Search.printSearchEnumeration(answer);
System.out.println("-----------------");
System.out.println(answer.next());
System.out.println("-----------------");
// Close the context when we're done
ctx.close();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
примечание: я знаю, что вы можете просто вырезать части из строки, но я хочу, чтобы она возвращала только нужное мне значение.