PHP与LDAP添加、删除、修改、搜索
2011年01月18日 下午 05:15
一、LDAP用户验证
$ds=ldap_connect("1.2.3.4");if (ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3)) {} else {}$dn="ou=people,dc=nftz,dc=cn"; //连接ldap服务器//判断用户输入的用户名和密码在ldap系统是否有这个用户LoginPassif ($ds) { HYPERLINK "mailto:$r=@ldap_bind($ds,%22uid=$_POST[LoginName],ou=people,dc=nftz,dc=cn%22,$_POST[LoginPass" $r=@ldap_bind($ds,"uid=$_POST[LoginName],ou=people,dc=nftz,dc=cn",$_POST[LoginPass]); if ($r){}}
二、LDAP密码修改
$_SESSION[SPsw]//旧密码$ds=ldap_connect("1.2.3.4");//首先连接上服务器 ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);$dn="uid=$uid,ou=people,dc=nftz,dc=cn"; if(ldap_bind($ds,$dn,$_SESSION[SPsw])){//绑定管理员,有修改的权限//用户dn$info["userpassword"]=$_POST[Psw]; ldap_modify($ds, $dn , $info);ldap_close($ds);$_SESSION[SPsw]=$_POST[Psw]; //更新密码}
三、根据UID搜或部门、搜索
A、根据UID找出这条信息的所有信息$ds=ldap_connect("1.2.3.4");//首先连接上服务器 $uid="wgdong";//搜索的UIDldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);$r=ldap_bind($ds,'cn=root,dc=nftz,dc=cn', 'wgd');//wgd是BIND的管理员 $sr=ldap_search($ds, "dc=nftz,dc=cn", "uid=".$uid ); $info = ldap_get_entries($ds, $sr);
//输出相关信息echo iconv("utf-8", "gb2312", $info[0]["cn"][0]);echo iconv("utf-8", "gb2312", $info[0]["userpassword"][0]);ldap_close($ds);
B、根据部门列出部门下所有人员
$bmjc="部门简称";$ds=ldap_connect("1.2.3.4"); // must be a valid LDAP server!if (ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3)) {} else {}if ($ds) { $r=ldap_bind($ds,'cn=root,dc=nftz,dc=cn', 'wgd'); //wgd是BIND的管理员 $sr=ldap_search($ds, "dc=nftz,dc=cn", "o=" .iconv("GB2312", "UTF-8",$bmjc) ); $info = ldap_get_entries($ds, $sr);for ($i=0; $i&name= echo iconv("utf-8", "gb2312", $info[$i]["cn"][0])?>"> echo iconv("utf-8", "gb2312", $info[$i]["cn"][0])?> }ldap_close($ds);?>
四、添加用户
$ds=ldap_connect("1.2.3.4");//首先连接上服务器$r=ldap_bind($ds,"cn=domadmin,o=jite","password");//系住一个管理员,有写的权限// cn=domadmin,o=ji