• apacheds的客户端


    Apache DS管理的JAVA实现

    LdapConnection connection = new LdapNetworkConnection("localhost", 10389);
    //检测连接状态
        @Test
        public void testSimpleBindRequest() throws LdapException {
            connection.bind("uid=admin,ou=system", "secret");
            connection.unBind();
            Assert.assertFalse(connection.isConnected());
            Assert.assertFalse(connection.isAuthenticated());
        }
        //简单的查询
        @Test
        public void testSimplesearch() throws LdapException, CursorException,IOException {
            connection.bind("uid=admin,ou=system", "secret");
            EntryCursor cursor = connection.search("ou=system", "(objectclass=*)",SearchScope.ONELEVEL);
            while (cursor.next()) {
                Entry entry = cursor.get();
                Assert.assertNotNull(entry);
                System.out.println(entry);
            }
            cursor.close();
            connection.close();
        }
        //带有约束条件的查询
        @Test
        public void testComplexSearches() throws LdapException, CursorException,IOException {
            connection.bind("uid=admin,ou=system", "secret");
            SearchRequest req = new SearchRequestImpl();
            req.setScope(SearchScope.SUBTREE);
            req.addAttributes("*");
            req.setTimeLimit(0);
            req.setBase(new Dn("ou=system"));
            req.setFilter("(ou=consumers)");
     
            SearchCursor searchCursor = connection.search(req);
            while (searchCursor.next()) {
                Response response = searchCursor.get();
                if (response instanceof SearchResultEntry) {
                    Entry resultEntry = ((SearchResultEntry) response).getEntry();
                    Assert.assertNotNull(resultEntry);
                    System.out.println(resultEntry);
                }
            }
            searchCursor.close();
            connection.close();
        }
     
        //添加条目
        @Test
        public void testAddLdif() throws LdapException, IOException {
            connection.bind("uid=admin,ou=system", "secret");
            connection.add(new DefaultEntry("cn=testadd,ou=system","ObjectClass:top", "ObjectClass:person", "cn:testadd_cn","sn:testadd_sn"));
            connection.close();
     
        }
     
        //以请求的方式添加条目
        @Test
        public void testAddWithControl() throws LdapException, IOException {
            connection.bind("uid=admin,ou=system", "secret");
            Entry entry = new DefaultEntry("cn=testadd2,ou=system","ObjectClass:top", "ObjectClass:person", "sn:testadd_sn");
            AddRequest addRequest = new AddRequestImpl();
            addRequest.setEntry(entry);
            addRequest.addControl(new ManageDsaITImpl());
            AddResponse response = connection.add(addRequest);
            Assert.assertNotNull(response);
            Assert.assertEquals(ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode());
            connection.close();
        }
     
        //删除条目
        @Test
        public void testDeleteLeafNode() throws LdapException, IOException {
            connection.bind("uid=admin,ou=system", "secret");
            connection.delete("cn=testadd,ou=system");
            connection.close();
        }
        //删除条目
        @Test
        public void testModify() throws LdapException, IOException {
            connection.bind("uid=admin,ou=system", "secret");
            Modification addedGivenName = new DefaultModification(ModificationOperation.ADD_ATTRIBUTE, "givenName");        connection.modify("uid=Doe,dc=acme,dc=com",addedGivenName);
            connection.close();
        }
  • 相关阅读:
    远程接入系统的问题
    FastReport
    通用FASTREPORT打印模块及接口方法
    cxGrid控件过滤筛选后如何获更新筛选后的数据集
    Oracle Data Integrator 12c (12.1.2)新特性
    ODI 12c 安装
    Kafka面试题
    Hadoop面试题
    Spark面试题
    JAVA面试题-数组字符串基础
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7172254.html
Copyright © 2020-2023  润新知