繁体   English   中英

LDAP更改密码PHP

[英]LDAP CHANGE PASSWORD PHP

我想使用PHP LDAP在Windows Active Directory上更改用户密码[unicodePwd]。

我正在通过PHP LDAP使用Windows Active Directory。

我对此没有任何问题。

我收集数据没有任何问题。

我使用ldap_mod_replace或ldap_modify更改属性没有任何问题

除了“ unicodePwd”。

*请注意,这有效

$user['telephonenumber'] = '1234567890';

*请注意,这不起作用

$user['unicodePwd'] = mb_convert_encoding('my_new_password', "UTF-16LE");

//代码

$result = ldap_modify($ldap, $dn, $user);
return ldap_error($ldap);

//代码

//更改unicodePwd时出错

ldap_modify(): Modify: Server is unwilling to perform

//电话号码没有错误

  • 2018/06/11问题,

我无法将我的服务器设置为在ssl上具有ldap。 已经尝试安装AD CS,到目前为止没有任何效果。 还在配置我的服务器有关安装用于SSL over LDAP的CA(证书颁发机构)的任何想法吗?

  • 2018/06/20问题,新问题

已经设置了LDAP OVER SSL,我也可以使用ldap

cmd-> ldp; 端口389,带有ssl的636很好。

但是当我使用端口636或ldaps:// servername在我的php中运行它时,这是错误,

ldap_bind(): Unable to bind to server: Can't contact LDAP server

您需要建立安全连接才能修改密码 (以及其他可能与安全相关的选项)。

在调用ldap_bind()之前添加以下内容:

ldap_start_tls($ldap);

即使您不尝试更改密码,这也是一个好主意,否则您的绑定操作是明文并且可以被嗅探。


如果看到此错误:

警告:ldap_start_tls():无法启动TLS:连接错误...

您可以调用ldap_connect 之前添加以下行来解决此问题:

putenv('LDAPTLS_REQCERT=never');

警告 :这将禁用检查LDAP服务器证书的有效性! 理想情况下,您应该将服务器证书(或其签名CA)添加到受信任的存储中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM