请教openldap的配置和使用

yadg 2004-10-14 11:37:43
各位大虾:小弟对ldap不太熟悉,我从下面的连接下载了openldap fow windows的服务器,按照向导安装好了后就不会用了,我该如何配置好我的服务器呢,如何使用java来访问呢。在线等待,请大虾们帮帮小弟
...全文
203 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yadg 2004-11-02
  • 打赏
  • 举报
回复
行了 谢谢各位
pigo 2004-10-24
  • 打赏
  • 举报
回复
改这行代码:

env.put(Context.SECURITY_PRINCIPAL, "uid=" + account + "," + root);

--------------------------------

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=mywebmail,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.1:389/" + root);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=Manager,dc=mywebmail,dc=com");//关键是这句
env.put(Context.SECURITY_CREDENTIALS, "s");//我改了密码为s

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

}
lvsam 2004-10-24
  • 打赏
  • 举报
回复
你的账户之类都是默认的吧?
你的账户应该是:
String account="cn=Manager";
yadg 2004-10-15
  • 打赏
  • 举报
回复
to(netskychw):你好,我重新下载了一个for windows的服务器,安装好后可以用了,但是在用java访问时老出错
public boolean connect(){
String account="Manager";
String password="123456";
String root="dc=sweet,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.123.166:389/" + root);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "uid=" + account + "," + root);
env.put(Context.SECURITY_CREDENTIALS, password);
DirContext ctx = null;
try
{
ctx = new InitialDirContext(env);
System.out.println("认证成功");
return true;
}
catch(javax.naming.AuthenticationException e)
{
System.out.println("认证失败");
}
catch(Exception e)
{
System.out.println("认证出错:");
e.printStackTrace();
}
if(ctx != null)
{
try
{
ctx.close();
return false;
}
catch (NamingException e)
{
//ignore
}
}

return false;
}
调用该类的connect方法后后台打印出认证失败。请问我该如何访问才行呢,是不是我的配置有问题阿?
netskychw 2004-10-15
  • 打赏
  • 举报
回复
ldap(light directory access protocol)
我的一个同事用过linux平台下的,好象就是象连接数据库一样的建立连接,然后存取数据就可以了;搜一搜了;如果你也可以用linux下的,我可以问清楚告你。
yadg 2004-10-14
  • 打赏
  • 举报
回复
下载的连接:http://www.ilex.fr/openldap/install-openldap-windows.exe
yadg 2004-10-14
  • 打赏
  • 举报
回复
怎么没人来,自己up

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧