有许多在程序中更改LDAP服务器上用户密码的方法,但是基本都无法执行,为此头疼了很久。直到最近才在网上找到解决办法。一般网上提供的修改密码的方法,都是首先由用户自己登陆到LDAP服务器,然后修改其本身的userPassword属性,而且修改过程中也不会报错,但是修改完毕后,用修改后的新密码去登陆,却发现修改并未生效,用户密码还是原来的老密码。
下面的方法是使用管理员身份登陆,然后使用SSL安全通道来修改其他用户的密码(详细操作步骤可参考网址http://www.javaresearch.org/article/42187.htm)。注意,上述操作之前,如果没有安装企业根证书,将无法找到证书导出。安装企业根证书的详细步骤,可以到如下网址查看http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/4ffc15cf-f42f-43db-8eb9-fcd8c3102d62.mspx?mfr=true,在感谢作者:廖武锋,感谢为我为我提供信息的头儿。另外,需要注意的一点是,在证书导出向导中,询问是否要导出私钥时,选择不要导出私钥。(注意,如果导出私钥,将无法在下一步操作中选择合适的格式。)
参考网址:http://www.javaresearch.org/article/42187.htm JAVA使用LDAP修改windows Active Directory 域用户密码