• 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();
        }
  • 相关阅读:
    J2ME游戏开发之层:动画
    HTTPClient
    Objectc 类的定义
    python占位符介绍及操作方法
    selenium IE浏览器运行很慢解决方法
    python eval()用法
    使用MySQL执行update时报错:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences
    python之字符串格式化(format)
    Python问题:UnboundLocalError: local variable 'xxx' referenced before assignment
    JS滚动页面操作
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7172254.html
Copyright © 2020-2023  润新知