java如何连接AD

问题描述

/***初始化LDAP目录服务上下文(打开数据库连接)*/publicvoidinitialContext(){Hashtable<String,String>env=newHashtable<String,String>();//密码Stringpassword="#cqjw123";Stringurl="ladp://10.224.0.73:389";//用户名Stringuser="cn=administrator,cn=users,dc=chongqing,dc=jiao,dc=com";env.put(Context.SECURITY_AUTHENTICATION,"simple");env.put(Context.SECURITY_PRINCIPAL,user);env.put(Context.SECURITY_CREDENTIALS,password);env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");env.put(Context.PROVIDER_URL,url);try{ctx=newInitialDirContext(env);//Attributesanswer=ctx.getAttributes("ou=uc,dc=chongqing,dc=jiao,dc=com");//System.out.println("值:"+answer);//关闭ctx.close();System.out.println("验证成功");}catch(Exceptione){System.out.println("失败:");e.printStackTrace();}}

我是这样连接AD失败了:javax.naming.NamingException:Cannotparseurl:ladp://10.224.0.73:389[Rootexceptionisjava.net.MalformedURLException:NotanLDAPURL:ladp://10.224.0.73:389]atcom.sun.jndi.ldap.LdapURL.<init>(LdapURL.java:77)atcom.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:146)atcom.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)atcom.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)atcom.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)atjavax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)atjavax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)atjavax.naming.InitialContext.init(InitialContext.java:223)atjavax.naming.InitialContext.<init>(InitialContext.java:197)atjavax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)atcom.ctfo.testdemo.test.Test.initialContext(Test.java:39)atcom.ctfo.testdemo.test.Test.main(Test.java:18)Causedby:java.net.MalformedURLException:NotanLDAPURL:ladp://10.224.0.73:389atcom.sun.jndi.ldap.LdapURL.<init>(LdapURL.java:71)...11more

求一段可行的连接AD的代码谢谢由于以前没做过这个实在头疼网上也找了很多都没实现然后还有像问的是如何知道连接成功呢!谢谢ou=uc,dc=chongqing,dc=jiao,dc=com这是根节点谢谢

解决方案

解决方案二:
顺便问下env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");这个是在干嘛呢谢谢
解决方案三:

解决方案四:
引用2楼rui888的回复:能详细点么谢谢
解决方案五:
我也是网上搜的。你搜搜看吧。
解决方案六:
url写错了吧,ldap还是ladp?
解决方案七:
http://download.csdn.net/detail/wenjie4892543/5992299
解决方案八:
你确定你的ad域服务器是10.224.0.73,或者10.224.0.73是域服务器吗

时间: 2024-09-07 07:03:17

java如何连接AD的相关文章

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

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

Java 实现连接sql server 2000(JDBC数据库访问例子)

server|访问|数据|数据库 刘金龙 04041222 ljlsunny@vip.sina.com   第一种:通过ODBC连接数据库 JAVA语言的跨平台的工作能力(Write Once ,Run Anywhere).优秀的图像处理能力(我相信现在没有那种语言可以超过JAVA在网络上的图形处理能力).网络通信功能.通过JDBC数据库访问技术等等,让我们谁都不可否认JAVA语言是SUN公司对于计算机界的一个巨大的贡献.笔者可以描述这样一个场景:有一天你上网完全可以不用IE 或者NETSCAP

mongodb3.0分片及java代码连接操作测试(开启用户验证)

最近抽时间搭建了一下mongodb简单的分片,整个过程还算是蛮顺利,只不过在用户验证这一块遇到了一些问题,好在最后终于搞定. 一.服务器搭建过程: 1.安装四个mongodb:一个作为config.一个作为mongos.另外两个作为主要数据存储的服务器(机器ip192.168.0.201),如图: 分别对应图中被红框框起来的mongoconf.mongos.mongo1.mongo2(解压安装,安装过程省略). 2.分别建立data.conf.logs文件夹,并在logs文件夹下建立mongod

java字符串连接String、StringBuffer和StringBuilder

Java字符串连接再开发中随时用的,方法很多: 先看下下边的代码: package com.meiyabaike.classx; public class ClassxMathCalculate { public static void main(String[] args) { int i1 = 10; int i2 = 20; System.out.println("resultx1 :"+i1+i2); //Error: the operator - is undefined f

java oracle 连接使用时出现的问题

问题描述 java oracle 连接使用时出现的问题 假如你不知道数据库的结构,比如有几列,用resultset接收的时候好像只能看有几行,哪 有几列该怎么查询 解决方案 http://www.cnblogs.com/wpcnblog/archive/2011/06/09/2076266.html 解决方案二: http://blog.csdn.net/guobing965816/article/details/7225770 解决方案三: while(resultset.hasNext())

java 本地连接外面的服务器sql2008数据库

问题描述 java 本地连接外面的服务器sql2008数据库 conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;DatabaseName=chumo", "dom", "123456"); System.out.println("建立连接成功!"); 上面是连接本地! 现在我要连接外面的服务器sql2008 现在该怎么改! 请各位大侠帮忙!

java工程连接设置成主从分离的mysql数据库

问题描述 java工程连接设置成主从分离的mysql数据库 java工程连接设置成主从分离的mysql数据库有哪几种方式,那种稳定性比较好一些? 解决方案 java与MySQL数据库的连接java连接MySql数据库Java连接mysql数据库攻略 解决方案二: 同样问题,参考:http://bbs.csdn.net/topics/350004690

mysql 编码 汉字识别-用Java语言连接wampserver中mysql数据库时,遇到问题,请看内容。

问题描述 用Java语言连接wampserver中mysql数据库时,遇到问题,请看内容. 用Java语言连接wampserver集成中的mysql,当用java代码往mysql数据库插入数据后,代码中的中文字符在数据库中变成了"?",但是使用mysql客户端.http:// localhost/phpmyadmin/ 页面 插入中文时,就没有这种情况发生,请指点. 解决方案 参考 mysql/java charset issue 在连接字符串指定字符集,比如jdbc:mysql://

java jdbc连接mysql数据库插入null值问题

问题描述 java jdbc连接mysql数据库插入null值问题 ps.setFloat(8 device.getLatitude());如果device.getLatitude()返回的是null就报错,也就是说setFloat不能插入空值,而setString()方法就可以,不知道为什么请高手指点,谢谢!! 解决方案 PreparedStatement.java 的给方法签名是这样的public void setFloat(int parameterIndex float x) throw