0
我試圖查詢基於Oracle數據庫中獲取的用戶id列表上的LDAP。如果帳戶存在於LDAP中,我想要更改給定對象的兩個值。我遇到的問題是,出於某種原因,結果永遠不會爲空,所以即使用戶在LDAP上不存在,我的代碼也會嘗試更改值。您會看到我爲測試目的而打印了「結果」的值。對於結果的輸出:NamingEnumeration中的LDAP查詢不返回null
以「@」對於每個查詢隨機值之後的一切。有什麼我做錯了嗎?
這裏是我的代碼:
public void queryLdap(String netId, LdapContext context)
{
String uId = "(uid=" + netId + ")";
String userDn="uid=" + netId + "," + domainRoot;
try{
SearchResult searchResult = null;
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String[] attrIDs = {"pdsAccountStatus", "inetUserStatus"};
//controls.setReturningAttributes(attrIDs);
NamingEnumeration<SearchResult> result = context.search(domainRoot, uId, controls);
System.out.println(result);
if(result != null){
changeLdap(userDn);
}
}
catch(Exception ex){
System.out.println("NamingEnumeration Error in queryLdap: " + ex);
}
}
究竟哪裏不說,它可以爲空?我建議你再看看Javadoc。 – EJP