国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - JAVA_基本LDAP操作實例

JAVA_基本LDAP操作實例

2019-10-15 10:22java之家 Java教程

這篇文章介紹了JAVA_基本LDAP操作實例,有需要的朋友可以參考一下

一、簡介

Lightweight Directory Access Protocol (LDAP),輕型目錄訪問協議是一個訪問在線目錄服務的協議。下面的例子中簡單介紹在java中隊ldap的增刪該查功能。目錄結構為:

CD=CAS,DC=MYDC

--cn=users

----uid=zhangsan

二、示例
1、通過LdapContext連接ldap
 

復制代碼代碼如下:

/** 
 * 連接LDAP 
 */  
@SuppressWarnings({ "rawtypes", "unchecked" })  
public LdapContext connetLDAP() throws NamingException {  
    // 連接Ldap需要的信息  
    String ldapFactory = "com.sun.jndi.ldap.LdapCtxFactory";  
    String ldapUrl = "ldap:/IP:port";// url  
    String ldapAccount = "cn=root"; // 用戶名  
    String ldapPwd = "password";//密碼  
    Hashtable env = new Hashtable();  
    env.put(Context.INITIAL_CONTEXT_FACTORY, ldapFactory);  
    // LDAP server  
    env.put(Context.PROVIDER_URL, ldapUrl);  
    env.put(Context.SECURITY_AUTHENTICATION, "simple");  
    env.put(Context.SECURITY_PRINCIPAL, ldapAccount);  
    env.put(Context.SECURITY_CREDENTIALS, ldapPwd);  
    env.put("java.naming.referral", "follow");  
    LdapContext ctxTDS = new InitialLdapContext(env, null);  
    return ctxTDS;  
}  


2、增加用戶zhangsan

復制代碼代碼如下:
  
// 添加  
    public void testAdd() throws Exception {  
        LdapContext ctx = connetLDAP();  
        Attributes attrs = new BasicAttributes(true);  
        Attribute objclass = new BasicAttribute("objectclass");  
        // 添加ObjectClass  
        String[] attrObjectClassPerson = { "inetOrgPerson", "organizationalPerson", "person", "top" };  
        Arrays.sort(attrObjectClassPerson);  
        for (String ocp : attrObjectClassPerson) {  
            objclass.add(ocp);  
        }  
        attrs.put(objclass);  
        String uid = "zhangsan";  
        String userDN = "uid=" + uid + "," + "cn=users,dc=cas,dc=mydc";  
        // 密碼處理  
        // attrs.put("uid", uid);  
        attrs.put("cn", uid);  
        attrs.put("sn", uid);  
        attrs.put("displayName", "張三");  
        attrs.put("mail", "abc@163.com");  
        attrs.put("description", "");  
        attrs.put("userPassword", "Passw0rd".getBytes("UTF-8"));  
        ctx.createSubcontext(userDN, attrs);  
    }  


3、刪除用戶zhangsan

復制代碼代碼如下:

//刪除  
    public void testRemove() throws Exception {  
        LdapContext ctx = connetLDAP();  
        String uid = "zhangsan";  
        String userDN = "uid=" + uid + "," + "cn=users,dc=cas,dc=mydc";  
        ctx.destroySubcontext(userDN);  

    }  


4、修改zhangsan的郵件地址

復制代碼代碼如下:
  
//修改  
    public boolean testModify() throws Exception {  
        boolean result = true;  
        LdapContext ctx = connetLDAP();  
        String uid = "zhangsan";  
        String userDN = "uid=" + uid + "," + "cn=users,dc=cas,dc=mydc";  
        Attributes attrs = new BasicAttributes(true);  
        attrs.put("mail", "zhangsan@163.com");  
        ctx.modifyAttributes(userDN, DirContext.REPLACE_ATTRIBUTE, attrs);  
        return result;  

    }  


5、查找用戶

復制代碼代碼如下:

//查詢  
    public void testSearch() throws Exception {  
        LdapContext ctx = connetLDAP();  
        // 設置過濾條件  
        String uid = "zhangsan";  
        String filter = "(&(objectClass=top)(objectClass=organizationalPerson)(uid=" + uid + "))";  
        // 限制要查詢的字段內容  
        String[] attrPersonArray = { "uid", "userPassword", "displayName", "cn", "sn", "mail", "description" };  
        SearchControls searchControls = new SearchControls();  
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);  
        // 設置將被返回的Attribute  
        searchControls.setReturningAttributes(attrPersonArray);  
        // 三個參數分別為:  
        // 上下文;  
        // 要搜索的屬性,如果為空或 null,則返回目標上下文中的所有對象;  
        // 控制搜索的搜索控件,如果為 null,則使用默認的搜索控件  
        NamingEnumeration<SearchResult> answer = ctx.search("cn=users,dc=cas,dc=mydc", filter.toString(), searchControls);  
        // 輸出查到的數據  
        while (answer.hasMore()) {  
            SearchResult result = answer.next();  
            NamingEnumeration<? extends Attribute> attrs = result.getAttributes().getAll();  
            while (attrs.hasMore()) {  
                Attribute attr = attrs.next();  
                System.out.println(attr.getID() + "=" + attr.get());  
            }  
            System.out.println("============");  
        }  
    }  
 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品午夜视频 | 国产福利在线视频 | av在线中文| 欧美极品视频 | 国产精品黄色 | 国产精品美女久久久久久久久久久 | 日韩欧美国产一区二区三区 | 久久久性色精品国产免费观看 | 午夜免费 | 免费看黄色一级电影 | 日韩免费网站 | 亚洲国产精品99久久久久久久久 | 亚洲夜幕久久日韩精品一区 | 在线一区二区免费 | 国产尤物 | 成人午夜精品一区二区三区 | 亚洲成人一二三 | 在线观看黄免费 | 日本在线观看一区 | 91精品国产综合久久久久久丝袜 | 国产午夜精品视频 | 国产精品久久久久久av下载网址 | 精品国产一区二区三区日日嗨 | 一区二区三区免费在线 | 久草成人网 | 国产的黄色片 | 日本三级视频在线观看 | 久久久久久免费看 | 99精品视频在线免费观看 | 一本色道精品久久一区二区三区 | 亚洲精品久久久久久久久久久 | 中文字幕日韩欧美 | 能免费看的av | 久久综合国产 | 国产成人在线一区 | 欧美亚洲第一页 | 国产在线一区二区三区 | 亚洲精品在线免费看 | 日韩理伦片在线观看视频播放 | 亚洲欧美在线视频 | 欧美视频一区二区 |