java 连接LDAP出现问题

问题描述

代码如下: public class LdapTest2 { /** * @param args */ public static void main(String[] args) { // ***************** user information to be authenticated ******************************** //*****************Please modify the following three properties accordingly ************ String ldapHost= "ldap://192.168.2.236:389/OU=WorkFlowUser,DC=hotelvm,DC=com"; //ldap host + port number // String ldapHost="ldap://192.168.2.236:389";//改为这样也一样不行 String DN="CN=Administrator,CN=Users,DC=hotelvm,DC=com"; String password = "password.com"; // DN's password String baseDN="OU=WorkFlowUser,DC=hotelvm,DC=com"; String filter="objectClass=User"; //***************** End of user information Properties props = new Properties(); props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); props.put(Context.SECURITY_AUTHENTICATION, "simple"); //use simple authentication mechanism props.put(Context.SECURITY_CREDENTIALS, password); props.put(Context.SECURITY_PRINCIPAL, DN); props.put(Context.PROVIDER_URL, ldapHost); try { DirContext ctx = new InitialDirContext(props); System.out.println("success"); SearchControls constraints = new SearchControls(); constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); NamingEnumeration en=ctx.search(baseDN, filter, constraints); if(en==null){ System.out.println("the value is null"); }else{ while(en.hasMore()){ Object obj=en.nextElement(); if(obj instanceof SearchResult){ SearchResult rs=(SearchResult) obj; String cn=rs.getName(); System.out.println(cn); } } } } catch (Exception ex) { System.out.println("Exception is "+ex.toString()); } } } 出现525的错误 Exception is javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece 请问大家知道是什么地方出错?首先,用户和密码是正确的;LDAP提供的信息如下: <baseDN>OU=WorkFlowUser,DC=hotelvm,DC=com</baseDN> <adminDN>CN=Administrator,CN=Users,DC=hotelvm,DC=com</adminDN> <adminPassword>password.com</adminPassword>

解决方案

http://new.qzone.qq.com/416276265;答案在这里
解决方案二:
看下这个系列http://www.iteye.com/topic/52087
解决方案三:
好象是你的验证错误..你把properties里面的这个属性移除props.put(Context.SECURITY_AUTHENTICATION, "simple"); //use simple authentication mechanism

时间: 2024-11-05 12:13:20

java 连接LDAP出现问题的相关文章

使用java连接AD域,验证账号密码是否正确

web项目中有时候客户要求我们使用ad域进行身份确认,不再另外做一套用户管理系统.其实客户就是只要一套账号可以访问所有的OA,CRM等办公系统. 这就是第三方验证.一般有AD域,Ldap,Radius,邮件服务器等.最常用的要数AD域了.因为window系统在国内占据了大量的江山.做起来也很方便. 我这篇文章就是写,如何用java去实现AD域的身份验证.好了,直接看代码吧: package com.test; import java.util.Hashtable; import javax.na

ldap-关于Java操作Ldap,添加用户/用户组时报错

问题描述 关于Java操作Ldap,添加用户/用户组时报错 public static void addUser() { String parentDN = "CN=Users,DC=jovaunn,DC=com"; String childName = "lj1Group"; String childDN = "CN=" + childName + "," + parentDN; Attribute cn = new Bas

Java连接Sybase数据库

数据|数据库   Java连接Sybase数据库第一步:工欲善其事,必先利其器.(下载驱动)下载JDBC驱动:网址:http://www.sybase.com/detail?id=1009726有jConnect6.0和jConnect5.5两种,我们下载6.0版本. 第二步:得到驱动释放下载的jConnect-6_0.zip文件,其中有文件夹:devclasses,其下有一jar文件jconn3d.我们将jconn3d.jar也释放,其实可以不释放,为了说明简便,我们将它释放到任意文件夹,比如

远程访问-java 连接其它电脑access 实例

问题描述 java 连接其它电脑access 实例 1:首先我通过配置ODBC数据源进行连接: String url="jdbc:odbc:lyjtest"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection(url,"",""); stmt = conn.createStatement(); 第一次是可以连接,但

java连接数据库-java连接access数据库

问题描述 java连接access数据库 为什么提示Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);这条语句"未出现的异常类型"啊,我是照书上写的啊 解决方案 ACCESS数据库虽然在功能和性能上无法和MYSQL.ORACLE等专业数据库相比,但由于安装方便.使用便捷,在JAVA数据学习时可作为临时数据库使用.JAVA连接ACCESS数据库非常便捷,一种方式是使用JDBC for ACCESS的专门驱动,在java官网或office官网都有下载,

java连接sql server 2008 r2 问题

问题描述 java连接sql server 2008 r2 问题 代码如下: package com.JDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /** @author Bob */ public class GetConn { public static void main(String args[])

我有个java连接网络的程序,想要在windows登陆前执行这个程序,请教该如何做

问题描述 我有个java连接网络的程序,想要在windows开机以后,用户登陆前执行这个程序,请教该如何做 问题补充:ZavaKid 写道 解决方案 楼主可以参考这个,很可能对楼主有用: http://www.cnblogs.com/codeyu/archive/2009/09/03/1559736.html解决方案二:首先windows登陆前网卡不一定初始化好了,这时候连接网络有可能是不通的.可以考虑驱动的形式解决方案三:引用恩,就是我自己写个java程序封装成了exe可执行的程序,这个程序是

java连接MySQL数据库实现代码_java

本文实例为大家分享了java连接MySQL数据库代码,供大家参考,具体内容如下 //java连接MySQl数据库实例代码 package com.abc.dao; /*dkplus专业搜集和编写实用电脑软件教程, *搜集各种软件资源和计算机周边,独立制作视频和ppt和音频微信公众号, *点击进入 dkplus官方博客 (java网络编程http://dkplus.iteye.com), *微信搜索dkplus关注公众号可获取海量计算机周边资源.*/ import java.sql.Connect

用java连接mssqlL2012

问题描述 用java连接mssqlL2012 本学期大作业是用**MSSQL2012**做一个酒店管理系统数据库,我做出来后想和小组成员**用java做一个使用界面的电脑客户端并连接数据库**,但现在**java**刚学只会一些基础语法(就只会类似怎么输出怎么用字符串怎么用数组之类的--),但怎么做出能够用鼠标使用的客户端,怎么连接数据库全部不会 求大神指教啊,怎么连接,要用什么代码并**解释下代码含义**,还需要下载什么配置什么吗 如果能顺便大概说一下我要做出那个客户端还需要再自学什么方面知识