用JLDAP提供的IAPI可以读取活动目录中的组织机构,用户,联系人,组,等
问题一
wangliu这个在活动目录中定义为一个“用户”
读他的objectClass属性应该是user但是wangliu的属性有3个
    person
    organizationalPerson
    user
不知道这个是为什么?
问题二
group1是一个组,组内包含wangliu这个用户
现在能读取到group1,如何根据group1读取到group1中的用户wangliu
以下是类
package test;import com.novell.ldap.LDAPAttribute;import com.novell.ldap.LDAPAttributeSet;import com.novell.ldap.LDAPConnection;import com.novell.ldap.LDAPEntry;import com.novell.ldap.LDAPException;import com.novell.ldap.LDAPSearchResults;import com.novell.ldap.util.Base64;import java.util.Enumeration;import java.util.Iterator;import java.io.UnsupportedEncodingException;public class Search1{    public void  run(String[] args)
    {        if (args.length != 5) {
            System.out.println("参数错误");
            System.exit(0);
        }        int ldapPort = LDAPConnection.DEFAULT_PORT;        int searchScope = LDAPConnection.SCOPE_ONE;        int ldapVersion = LDAPConnection.LDAP_V3;        String ldapHost = args[0];        String loginDN = args[1];        String password = args[2];        String searchBase = args[3];        String searchFilter = args[4];        LDAPConnection lc = new LDAPConnection();        try {
            lc.connect(ldapHost, ldapPort);
            //System.out.println(lc.isConnected());
            // bind to the server
            lc.bind(ldapVersion, loginDN, password.getBytes("UTF8"));
           //System.out.println(lc.isBound());
            LDAPSearchResults searchResults = lc.search(searchBase,            searchScope,            searchFilter,            null, // return all attributes                    false); // return attrs and values            while (searchResults.hasMore()) {                LDAPEntry nextEntry = null;                try {                    nextEntry = searchResults.next();                }                catch (LDAPException e) {                    System.out.println("Error: " + e.toString());                    // Exception is thrown, go for next entry                    if (e.getResultCode() == LDAPException.LDAP_TIMEOUT
                            || e.getResultCode() == LDAPException.CONNECT_ERROR)                        break;                    else                        continue;                }                String dn = nextEntry.getDN();
                String[] subDn = dn.split(",");                String[] childDn = subDn[0].split("=");
                System.out.println(childDn[1]);
               
               // System.out.println("  Attributes: ");                LDAPAttributeSet attributeSet = nextEntry.getAttributeSet();
                LDAPAttribute LDAPattribute = attributeSet
                        .getAttribute("objectClass");
                Enumeration enu = LDAPattribute.getStringValues();
                while (enu.hasMoreElements()) 
                {
                    String temp = enu.nextElement().toString();
                    
                    if(temp.equals("top"))
                    {
                        
                    }
                    else if(temp.equals("person"))
                    {
                        System.out.println("    "+"person");
                    }
                    else if(temp.equals("organizationalPerson"))
                    {
                        System.out.println("    "+"organizationalPerson");
                    }
                    else if(temp.equals("inetOrgPerson"))
                    {
                        System.out.println("    "+"inetOrgPerson");
                    }
                    else if(temp.equals("user"))
                    {
                        System.out.println("    "+"user");
                    }
                    else if(temp.equals("group"))
                    {
                        System.out.println("    "+"group");
                    }
                    else if(temp.equals("organizationalUnit"))
                    {
                        System.out.println("    "+"organizationalUnit");
                        args[3]="ou="+childDn[1]+","+args[3];
                        run(args);                                        
                    }
                    else if(temp.equals("contact"))
                    {
                        System.out.println("    "+"contact");
                    }
                    //System.out.println("    "+enu.nextElement().toString());
                }
            }            // disconnect with the server            lc.disconnect();        }        catch (LDAPException e) {            System.out.println("Error: " + e.toString());        }        catch (UnsupportedEncodingException e) {            System.out.println("Error: " + e.toString());        }        //System.exit(0);    }
    public static void main(String[] args) {        Search1 search1= new Search1();
        search1.run(args);    }}运行时的参数
java search1 10.11.3.244 "lisi" 12345678 "ou=凯德商用,dc=contoso,dc=com" "(objectclass=*)"