?? jndiadd.java
字號:
//package jndi;/*曾海 2003/9 JNDI程序將一個標準的ldap數據格式放進ldap服務器。*/import java.util.*;// hashtableimport javax.naming.*;//命名服務import javax.naming.directory.*;//初始化上下文用import javax.swing.JOptionPane;/*在服務上準備:uid=ZHai,ou=Groups,dc=jssvc,dc=com記錄。密碼設成916,如果不會請看講義準備加入person類。它實現Initialcontext故此能加入*/public class JNDIAdd { public static String sunLdapContext="com.sun.jndi.ldap.LdapCtxFactory"; public static String hostURL="ldap://127.0.0.1:389";//這個端口取決于你安裝時的選擇。 public static String searchBase= "dc=jssvc, dc=com";//從默認的點開始尋找,這里的根是dc-dc public static String searchContents="(uid=*)";//sn=surname名字(sn=zeng)也可以,大家可以試試sn=*可以任意匹配 //public static String dn="uid=ZHai,ou=Groups,dc=jssvc,dc=com"; public static String dn="cn=portal"; public static String pw="secret"; public JNDIAdd() { DirContext ctx=null; try{ Hashtable env = new Hashtable();//準備放屬性 env.put(Context.INITIAL_CONTEXT_FACTORY ,sunLdapContext); env.put(Context.PROVIDER_URL ,hostURL); env.put(Context.SECURITY_AUTHENTICATION ,"simple"); env.put(Context.SECURITY_PRINCIPAL ,dn); env.put(Context.SECURITY_CREDENTIALS,pw); SearchControls constraints = new SearchControls();//這個類在naming.directory里的,用于確定搜索的范圍,是全局,一層還是下一層,請看我的備課筆記 constraints.setSearchScope(SearchControls.SUBTREE_SCOPE ) ;//搜索全部的目錄樹 ctx = new InitialDirContext(env);//這句會有意外,好好捉吧 }catch (Exception e){ System.err.println("錯誤,連接不上服務器,可能是密碼不對勁兒") ; System.exit(1);}; System.err.println("非常好,連接上了"); try{ Person p = new Person("213"); //ctx.bind("uid=Sam,ou=Groups,o=jssvc.com ",p); // ctx.bind( "cn=SGamgee , ou=Groups,dc=jssvc,dc=com",p); ctx.bind("uid=yang123,obj=user,cn=portal",p); }catch(NamingException ne){ ne.printStackTrace() ;System.exit(1);}; } public static void main(String[] args) { JNDIAdd JNDIAdd1 = new JNDIAdd(); System.exit(0); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -