Извлечение контактов из веб-книги с использованием LDAP - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу написать приложение для Android, которое загружает контакты из каталога LDAP и отображает их на экране.Я не хочу добавлять контакты в телефонную книгу в моем телефоне, я просто хочу отображать их.Я тоже не хочу их редактировать.Это очень легко сделать на Java, и это то, что я имею в виду.Как это сделать на Android.Я ищу 4 дня ответов.Я нашел решение https://github.com/weisserd/LDAP-Sync/tree/master/src/de/danielweisser/android/ldapsync, но оно очень сложное, и его приложение синхронизирует данные из телефонной книги, и я просто хочу получить список.Вот решение в JAVA:

    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.NamingEnumeration;
    import javax.naming.NamingException;
    import javax.naming.directory.Attributes;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    import javax.naming.directory.SearchControls;
    import javax.naming.directory.SearchResult;

    public class UserList {



        public void totalUser() throws NamingException
        {

            Properties initialProperties = new Properties();
            initialProperties.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
            initialProperties.put(Context.PROVIDER_URL, "ldap://localhost:10389");
            initialProperties.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system");
            initialProperties.put(Context.SECURITY_CREDENTIALS, "secret");
            DirContext  context = new InitialDirContext(initialProperties);

            String searchFilter="(objectClass=inetOrgPerson)";
            String[] requiredAttributes={"sn","cn","employeeNumber"  };
            SearchControls controls=new SearchControls();
            controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
            controls.setReturningAttributes(requiredAttributes);
            NamingEnumeration users=context.search("ou=users,o=Company", searchFilter, controls);
            SearchResult searchResult=null;
            String commonName=null;
            String surName=null;
            String employeeNum=null;
            while(users.hasMore())
            {

                searchResult=(SearchResult) users.next();
                Attributes attr=searchResult.getAttributes();

                commonName=attr.get("cn").get(0).toString();
                surName=attr.get("sn").get(0).toString();
                employeeNum=attr.get("employeeNumber").get(0).toString();
                System.out.println("Name = "+commonName);
                System.out.println("Surname  = "+surName);
                System.out.println("Employee number = "+employeeNum);
                System.out.println("-------------------------------------------");

            }

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...