0
Java APIを使用してTDS LDAPからすべてのユーザーを取得するには、以下のコードを使用しています。しかし、リターン属性にイメージを含めると、クエリは機能しません。私はそれを修正するのを助けてください。私は属性 "をjpegPhoto" が含まれる場合はイメージを含むTDS LDAPからすべてのユーザーを取得する
String returnedAtts[] = {"jpegPhoto","cn","uid","UserAccountStatus"};
、私は空の結果を取得しています。
ただし、以下のような属性「jpegPhoto」を指定しないと、すべてのユーザーのデータが必要になります.iすべてのユーザーのイメージも必要です(query(cn = *)はイメージ属性では機能しません)。
String returnedAtts[] = {"uid","cn","UserAccountStatus"};
try {
// Create the initial directory context
DirContext ctx = new InitialLdapContext(env,null);
//Create the search controls
SearchControls searchCtls = new SearchControls();
//Specify the attributes to return
String returnedAtts[]={"jpegPhoto","DateofBirth","DateofJoining","cn","sn","UserAccountStatus","uid"};
//String returnedAtts[]={"DateofBirth","DateofJoining","cn","sn","UserAccountStatus","uid"};
searchCtls.setReturningAttributes(returnedAtts);
//Specify the search scope
searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String searchBase = "cn=parleRealm,o=parle";
int totalResults = 0;
// Search for objects using the filter
NamingEnumeration answer = ctx.search(searchBase, "(&(objectClass=inetOrgPerson)(cn=*))", searchCtls);
while (answer.hasMoreElements()) {
SearchResult sr = (SearchResult)answer.next();
totalResults++;
// Print out some of the attributes, catch the exception if the attributes have no values
Attributes attrs = (Attributes) sr.getAttributes();
if (attrs != null) {
try {
if("Active".equals(attrs.get("UserAccountStatus").get().toString())){
/*
ub=new UserBean();
ub.setUid((String)attrs.get("uid").get());
ub.setCn((String)attrs.get("cn").get());
ub.setSn((String)attrs.get("sn").get());
ub.setDateOfBirth((String)attrs.get("DateofBirth").get());
ub.setDateofJoining((String)attrs.get("DateofJoining").get());
list.add(ub);*/
System.out.println(attrs.get("cn").get());
}
}
catch (Exception e) {
System.out.println(attrs.get("uid").get()+"is failed to read");
}
}
}
コードを投稿するのを忘れました。 –
「うまくいかない」とはどういう意味ですか? – Chris