经历过才能真的感受,做一个靠谱的人!
分类: 架构设计与优化
2013-10-20 18:04:26
LDAP连接AD修改用户密码分析--server is unwilling to perform
通过LDAP设置AD中用户密码必须满足非常严格的三个条件,否则会提示Warning:server is unwilling to perform。
必须使用SSL方式连接AD(ldaps://);
密码必须使用引号括起来;
引号中的密码必须使用16位unicode编码(UTF-16LE);
假设你要重置的密码是使用普通的ascii码编码,那么代码的转换可以通过如下的方式实现,即:将原ascii码编码的密码中每一个字符\000后,再拼接到一起,就可以转换成16位unicode编码。代码示例如下:
点击(此处)折叠或打开
个人认为配置使用SSL方式连接AD(ldaps://域名或者IP)是非常繁琐的,并且有些无厘头的步骤,目前基本成功了。我的环境是:windows server 2012(AD服务器), php 5.4.15,apache2.2(on windows),windows 7(LDAP 客户端)。欢迎大家共同交流~