ldap笔记
参考http://wiki.ubuntu.org.cn/index.php?title=OpenLDAPServer&variant=zh-cn#Installation.EF.BC.88.E5.AE.89.E8.A3.85.EF.BC.89先安装slapd 和 ldap-utils
vim /etc/ldap/slapd.conf
# Make sure you edit or add these directives after the first 'database' directive.suffix "dc=example,dc=com"directory "/var/lib/ldap"rootdn "cn=admin,dc=example,dc=com"rootpw {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m
停止 LDAP 守护进程:sudo /etc/init.d/slapd stop
折腾了半天,ubuntu装上了但是认证失败,据说是因为tab和空格的问题,还用windows先试用一下吧
http://code.google.com/p/i18n-zh/wiki/OpenLDAP
这个新版本没装上
---------------------------------------------
这个哥们写的太好了,推荐一下
http://topinking.iteye.com/blog/223330
1.去csdn下载openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe,安装
2.修改C:\WINDOWS\system32\drivers\etc下的host文件本地ip改成,
127.0.0.1 localhost209.85.225.101sites.google.com192.168.1.116example.com
最后一个为本地ip
3.C:\Program Files\OpenLDAP\slapd.conf
把下面两行(57,58行)
suffix"dc=my-domain,dc=com"
rootdn"cn=Manager,dc=my-domain,dc=com"
改成
suffix"dc=example,dc=com"rootdn"cn=Manager,dc=example,dc=com"
运行slappasswd -h {MD5}
把下面这行(62行)
rootpwsecret
改成刚得到的密码,类似
rootpw{MD5}S6CYCoq9tq5LPyFg79WaMQ==
启动 slapd -d 1
4.
import java.util.*;import javax.naming.Context;import javax.naming.NamingException;import javax.naming.directory.DirContext;import javax.naming.directory.InitialDirContext; public class Demo {public static void main(String[] args) { Demo LDAPTest1 = new Demo(); String root = "dc=example,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.1.116/" + root); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, "cn=Manager,dc=example,dc=com"); env.put(Context.SECURITY_CREDENTIALS, "haoning"); 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);}}
参考http://blog.csdn.net/keonchen/archive/2007/06/28/1669913.aspx
ldapsearch uid=example
返回关于用户example的所有公开信息。
这和find / -uid example unix命令很类似。
编辑你的 /etc/openldap/ldap.conf配置文件
该文件位于ldap客户端(我们将使用同一计算机作为服务器和客户端,当然这可以在同一计算机或不同的计算机上)
通常诸如ldapdelete 、ldapadd等等的ldap客户端会读该文件的内容。
页:
[1]