windows下openldap的安装与java操作测试

windows下openldap的安装与测试
1.openldap的下载:
可以通过 openldap for windows 在google上搜索到。
目前最新版本是:2.2.19
下载地址:
相关联接:
 
2.运行 openldap-2.2.19-db-4.3.21-openssl-0.9.7e-win32.exe 安装,一路next就可以了安装ldap for windows到D:\openldap\。
 
3.假设我们使用的域名是 lizongbo.com 对应的主机IP是192.168.9.126
 
4.修改C:\WINNT\system32\drivers\etc\下的host文件
添加下面一行
192.168.9.226   lizongbo.com
 
5.配置openldap,修改D:\openldap\slapd.conf里的内容
 
把下面两行(57,58行)
 
suffix  "dc=my-domain,dc=com"
rootdn  "cn=Manager,dc=my-domain,dc=com"
 
改成
 

suffix  "dc=lizongbo,dc=com"
rootdn  "cn=Manager,dc=lizongbo,dc=com"
 
运行
 
D:\openldap>slappasswd -h {MD5}
New password: Re-enter new password: {MD5}S6CYCoq9tq5LPyFg79WaMQ==
(我输入的密码是lizongbo)
然后继续修改slapd.conf
 
把下面这行(62行)
 
rootpw  secret
 
改成
 
rootpw  {MD5}S6CYCoq9tq5LPyFg79WaMQ==
 
 
 
接下来运行D:\openldap\slapd.exe来启动LDAP服务。
或者运行slapd -d 1
可以看到日志信息。
 
6.java测试:
 
package com.lizongbo.ldapdemo;
 
import java.util.*;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
 
public class LDAPTest {
  public LDAPTest() {
  }
 
  public static void main(String[] args) {
    LDAPTest LDAPTest1 = new LDAPTest();
    String root = "dc=lizongbo,dc=com"; //root
 
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, " ldap://192.168.9.226/ " + root);   
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, "cn=Manager,dc=lizongbo,dc=com");
    env.put(Context.SECURITY_CREDENTIALS, "lizongbo");
    DirContext ctx = null;
    try {
      ctx = new InitialDirContext(env);
      System.out.println("认证成功");
    }
    catch (javax.naming.AuthenticationException e) {
      e.printStackTrace();
      System.out.println("认证失败");
    }
    catch (Exception e) {
      System.out.println("认证出错:");
      e.printStackTrace();
    }
 
    if (ctx != null) {
      try {
        ctx.close();
      }
      catch (NamingException e) {
        //ignore
      }
    }
    System.exit(0);
  }
 
}

你可能感兴趣的:(java,windows,Security,Google,sun)