ldap认证失败问题!

qukmei 2004-07-05 11:50:10
我的机子装的是win2000 server,刚装了sun java studio enterprise 6.0,启动所有服务器,在directory server里新增了一个用户,为qukmei
我用jcreator写了一个类,执行不报错,但为什么认证失败呀?

请告诉我原因,是不是2000里需要关闭什么东西,才能访问 sun的directory server呀?

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;

public class testjndi
{
public static void main(String[] args)
{
String account="qukmei";
String password="123456";
String root="dc=mygodsun,dc=com"; //root

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://guorui.mygodsun.com: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("认证成功");
}
catch(javax.naming.AuthenticationException e)
{
System.out.println("认证失败");
}
catch(Exception e)
{
System.out.println("认证出错:");
e.printStackTrace();
}

if(ctx != null)
{
try
{
ctx.close();
}
catch (NamingException e)
{
//ignore
}
}
System.exit(0);
}
}




...全文
1268 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qukmei 2004-07-05
  • 打赏
  • 举报
回复
ldap://guorui.mygodsun.com:389/dc=mygodsun,dc=com

直接在ie里访问以上地址时,弹出address book viewer
目录服务中不存在与搜索条件相符的项
君子藏器 2004-07-05
  • 打赏
  • 举报
回复
把:
env.put(Context.SECURITY_PRINCIPAL, "uid=" + account + "," + root);
改成:
env.put(Context.SECURITY_PRINCIPAL, "cn=" + account + ",ou=People," + root);
qukmei 2004-07-05
  • 打赏
  • 举报
回复
我知道为什么了,哈
唉,还是去看英文的网站,我突发奇想知道的

怎么把这个贴子删除了?
qukmei 2004-07-05
  • 打赏
  • 举报
回复
是不是因为密码被Directory server或identity server加密了呀?我那个用户名qukmei可以在identity server里正常登录的,但我那个程序确是认证失败呀,晕
qukmei 2004-07-05
  • 打赏
  • 举报
回复
我试过了,还是不行的
env.put(Context.SECURITY_PRINCIPAL, "cn=" + account + "," + root);

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

都不行的
cbhyk 2004-07-05
  • 打赏
  • 举报
回复
把:
env.put(Context.SECURITY_PRINCIPAL, "uid=" + account + "," + root);
改成:
env.put(Context.SECURITY_PRINCIPAL, "cn=" + account + ",cn=users," + root);
qukmei 2004-07-05
  • 打赏
  • 举报
回复
顶一下吧,谢谢了
ecaol 2004-07-05
  • 打赏
  • 举报
回复
UP

67,538

社区成员

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

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