用JAVA通过LDAP修改AD用户密码注意事项
来源:互联网 发布:java log4j 用哪个jar 编辑:程序博客网 时间:2024/06/10 06:04
最近要用java来修改windows 2003的Active Directory(简称AD)上的用户,包括新增、修改、删除,普通的操作这里就不说了,网上有一大堆的资料,这里记述一下本人操作过程中遇到的问题及解决方法。
通过ldap来修改AD的用户信息,除了修改密码外,其他的都可以使用非安全的连接进行操作,也就是可以不走SSL连接来操作,注意AD的普通端口是389,SSL端口是636。
当使用SSL连接修改密码时,需要在连接端安装证书,怎么获取证书,本人使用网上其他人介绍的证书方法,全是无法成功,都是出现 unable to find valid certification path to requested target 错误,最终经一朋友提示,使用其他方法获取到正确的证书,具体如下:
1、安装证书服务。在ldap服务器上安装证书服务。证书服务的安装没什么特别的注意,请参考其他人的文章。
2、获取客户端证书。别人都是通过下载证书的方式来获取证书,但是我通过这种方式就是无法成功修改密码,也都是提示 unable to find valid certification path to requested target 这个错误。我的操作方法为,用IE通过SSL直接连接ldap服务器(也就是安装AD的那台机器),使用636端口,类似于 https://192.168.0.111:636 ,连接的时候会提示安装证书,这时候把这个证书保存下来,即为需要的客户端证书。
3、连接。得到证书后,我在连接的时候成功了,但在修改AD用户密码的时候还是报错,但这次的错误为 javax.naming.OperationNotSupportedException: [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A0FC0, problem 5003 (WILL_NOT_PERFORM), data 0 ,操作不支持错误,在这个问题了转了好久都没解决,后来无意中看到一篇文章讲到AD中的密码策略问题,才想起来windows2003中AD中的默认密码策略有长度限制和复杂性要求,所以才导致出现OperationNotSupportedException异常,记得在域控制器上查看自己的域策略。
通过ldap来修改AD的用户信息,除了修改密码外,其他的都可以使用非安全的连接进行操作,也就是可以不走SSL连接来操作,注意AD的普通端口是389,SSL端口是636。
当使用SSL连接修改密码时,需要在连接端安装证书,怎么获取证书,本人使用网上其他人介绍的证书方法,全是无法成功,都是出现 unable to find valid certification path to requested target 错误,最终经一朋友提示,使用其他方法获取到正确的证书,具体如下:
1、安装证书服务。在ldap服务器上安装证书服务。证书服务的安装没什么特别的注意,请参考其他人的文章。
2、获取客户端证书。别人都是通过下载证书的方式来获取证书,但是我通过这种方式就是无法成功修改密码,也都是提示 unable to find valid certification path to requested target 这个错误。我的操作方法为,用IE通过SSL直接连接ldap服务器(也就是安装AD的那台机器),使用636端口,类似于 https://192.168.0.111:636 ,连接的时候会提示安装证书,这时候把这个证书保存下来,即为需要的客户端证书。
3、连接。得到证书后,我在连接的时候成功了,但在修改AD用户密码的时候还是报错,但这次的错误为 javax.naming.OperationNotSupportedException: [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A0FC0, problem 5003 (WILL_NOT_PERFORM), data 0 ,操作不支持错误,在这个问题了转了好久都没解决,后来无意中看到一篇文章讲到AD中的密码策略问题,才想起来windows2003中AD中的默认密码策略有长度限制和复杂性要求,所以才导致出现OperationNotSupportedException异常,记得在域控制器上查看自己的域策略。
后记:由于水平原因,就因为证书的问题搞了两天多才搞定,其实通过调整域策略可以使用修改密码不需要走SSL通道的,但这都是旁门左道,希望写下这篇文章对大家有所帮助。
原文:http://wls981.iteye.com/blog/316012
- 用JAVA通过LDAP修改AD用户密码注意事项
- 用JAVA通过LDAP修改AD用户密码注意事项
- 通过web修改AD域用户密码
- 用JAVA通过JNDI操作活动目录(AD)中LDAP
- Java添加、修改MS AD用户密码
- 修改AD用户密码
- Java LDAP用户密码验证
- Java通过Ldap操作AD的增删改查询
- Java通过Ldap操作AD的增删改查询
- 用IIS6.0的密码修改功能修改AD用户密码
- java 通过LDAP 验证、添加、修改、删除
- Java添加、修改MS AD用户密码&配置AD、CA、SSL,绑定keystore
- 通过LDAP在AD域控上进行添加、删除、修改、查询等各种操作
- 通过LDAP在AD域控上进行添加、删除、修改、查询等各种操作
- 通过LDAP在AD域控上进行添加、删除、修改、查询等各种操作
- Ldap 修改用户密码及安装证书
- web方式修改AD域用户密码
- c# 用LDAP访问AD
- 结构体-默认参数的构造函数
- 第四周上机任务项目四 正整数类
- yum 失败(This system is not registered with RHN.)解决
- 经典DP 嵌套矩形
- 查看进程与线程
- 用JAVA通过LDAP修改AD用户密码注意事项
- Redis命令总结
- 我国明年6月底前实施不动产登记和网络实名制
- 如何制作一份优秀的简历
- 16进制查看方法
- 第五周项目一:三角形类(构造函数)@(1)
- delegate的一些操作
- ./configure: error: the HTTP rewrite module requires the PCRE library.
- 腾讯已开始给未来战略清障