【发布时间】:2019-10-02 07:28:24
【问题描述】:
我来找你是因为我的 Active Directory 服务器有点问题,确实我可以连接以获取我的用户...当我使用 AD 软件添加用户时,我为他分配了一个密码,并且这个密码已启用在PHP中使用表单进行身份验证,没有任何异常。
问题是当我直接使用 PHP 添加用户时,我使用此代码
$ldapconn=ldap_connect("adress");
$ldapbind=ldap_bind($ldapconn, "local", "test");
$cn = $info["cn"][0] = "test test ";
$info["sn"][0] ="test ";
$info["givenname"][0] ="test ";
$info["displayname"][0] ="test test ";
$info["name"][0] ="test test ";
$info["userprincipalname"][0] = "test @test .test ";
$info["samaccountname"][0] = "ttest ";
$info["objectClass"][0]="top";
$info["objectClass"][1]="person";
$info["objectClass"][2]="organizationalPerson";
$info["objectClass"][3]="user";
$info["objectCategory"][0] ="CN=Person,CN=Schema,CN=Configuration,DC=test
,DC=test ";
$info['userPassword'][0] = "test ";
// add entries
$r = ldap_add($ldapconn,"CN=".$cn.",OU=Utilisateurs,DC=test ,DC=test ", $info);
我的用户已正确添加但未完成 php 身份验证,我的用户没有身份验证密码,但应该用于其他用途的密码,我在网上看到 $info['userPassword'] 允许创建一个不可用于身份验证的密码。请有人拥有确切的属性才能创建此密码。
提前感谢您的帮助。
我也尝试使用属性 $info['unicodePwd'] 但我收到一条错误消息 ” 添加:服务器不愿意执行”。
【问题讨论】:
标签: php active-directory ldap