替代Sun Directory Server的ldap_rename

时间:2011-04-11 21:33:24

标签: php ldap sunone

PHP为在LDAP中复制或移动目录记录提供了很好的功能。不幸的是,ldap_rename函数doesn't seem to work on the Sun Directory。是否存在任何替代方案来更改帐户的OU而无需创建新帐户?

我的最终目标是使用一种简单的方法在两个OU之间切换,例如: CN=username,OU=Admin,DC=uaa,DC=alaska,DC=edu
CN=username,OU=Student,DC=uaa,DC=alaska,DC=edu

1 个答案:

答案 0 :(得分:1)

你可以用LDIF做到这一点。在目录的角度来看,您要执行的作业称为DN修改, moddn modrdn 有两个LDAP动词。

在OpenLDAP中可以通过这种方式在LDIF中完成:

dn: CN=username,OU=Admin,DC=uaa,DC=alaska,DC=edu
changetype: modrdn
newrdn: CN=username
deleteoldrdn: 0
newsuperior: OU=Student,DC=uaa,DC=alaska,DC=edu

我使用这种方式accros Active Directory:

dn: CN=username,OU=Admin,DC=uaa,DC=alaska,DC=edu
Changetype: moddn
Newrdn: CN=username
Deleteoldrdn: 1
Newsuperior: OU=Student,DC=uaa,DC=alaska,DC=edu

小心复制/删除与您创建的第一个解决方案中的 moddn modrdn 明显不同新对象(LDAP数据库中的新 guid uuid )可能会影响复制。在第二个解决方案中,您移动对象。

也许你可以在PHP中找到那些动词。