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();
    }

apacheds的客户端的更多相关文章

  1. LDAP的用户需求

    使用LDAP(ApacheDS)构建统一认证服务(SSO单点登录)   构建团队协作的体系,需要涉及很多个系统,如SVN.Jenkins.Trac.Nexus等,而一般而言每个系统均有其用户体系,当我 ...

  2. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  3. 支持 .NET Core 的 Memcached 客户端 EnyimMemcachedCore

    1. 介绍 EnyimMemcachedCore 是一个支持 .NET Core 的 Memcached 客户端,是从 EnyimMemcached 迁移至 .NET Core的,源代码托管在 Git ...

  4. 消息队列 Kafka 的基本知识及 .NET Core 客户端

    前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息 ...

  5. Socket聊天程序——客户端

    写在前面: 上周末抽点时间把自己写的一个简单Socket聊天程序的初始设计和服务端细化设计记录了一下,周二终于等来毕业前考的软考证书,然后接下来就是在加班的日子度过了,今天正好周五,打算把客户端的详细 ...

  6. 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...

  7. zookeeper源码分析之三客户端发送请求流程

    znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的 ...

  8. zookeeper源码分析之二客户端启动

    ZooKeeper Client Library提供了丰富直观的API供用户程序使用,下面是一些常用的API: create(path, data, flags): 创建一个ZNode, path是其 ...

  9. PHP获取客户端IP

    /** * 获取客户端IP */ function getClientIp() { $ip = 'unknown'; $unknown = 'unknown'; if (isset($_SERVER[ ...

随机推荐

  1. 团体程序设计天梯赛 L1-034.点赞

    描述 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.本题就要求你写个程序,通过统计一个人 ...

  2. 直播-rtmp学习

    RTMP(实时消息传输协议),官方介绍如下: Adobe’s Real Time Messaging Protocol (RTMP), an application-level protocol de ...

  3. 转: web 页面加载速度优化实战-100% 的飞跃提升

    前言 一个网站的加载速度有多重要? 反正我相信之前来 博主网站 的人至少有 50% 在加载完成前关闭了本站. 为啥捏? 看图 首页完整加载时间 8.18s,看来能进来看博主网站的人都是真爱呀,哈哈. ...

  4. Attrib +s +a +h +r 隐藏文件原理与破解

    制作了一个PE启动盘,不过这个启动盘不能深度隐藏,否则没效果,可以又想不让别人看见PE启动盘的一些内容,防止别人误删或者修改,于是就想找一种可以隐藏文件的方法,普通的隐藏文件的方法如下:

  5. Intellij +Maven 报错: Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.

    在intellij使用 Maven Project 测试时,运行test时看到log里的报错信息: -Dmaven.multiModuleProjectDirectory system propert ...

  6. 深入浅出了解OCR识别票据原理(Applying OCR Technology for Receipt Recognition)

    原文:Applying OCR Technology for Receipt Recognition 译文:深入浅出了解OCR识别票据原理 英文票据识别技术, 非中文票据识别技术, 中文情况的ocr更 ...

  7. python文件读read()、readline()、readlines()对比

    读取文件的三个方法:read().readline().readlines().均可接受一个变量用以限制每次读取的数据量,但通常不使用.本章目的是分析和总结三种读取方式的使用方法和特点. 一.read ...

  8. springMVC的异常处理

    1. 异常 什么是异常: 在程序中预期会出现,但是却无法处理的问题,叫做异常 异常处理原则: 延迟处理 先记着...,后续补充

  9. Vue自定义插件方法大全

    新年第一天首先祝大家新年快乐,心想事成! 1.利用根实例构造函数的原型 //在构造函数的原型链上添加自定义属性 Vue.prototype.test = 'pomelo' //在其他组件中调用 con ...

  10. [Luogu P1564] 膜拜

    Description 神牛有很多-当然-每个同学都有自己衷心膜拜的神牛. 某学校有两位神牛,神牛甲和神牛乙.新入学的N 位同学们早已耳闻他们的神话. 所以,已经衷心地膜拜其中一位了.现在,老师要给他 ...