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