首先,需要安装php-ldap插件,在php.ini中进行配置后,重启apache服务器。
$user="name";
$pwd="password";
login($user, $pwd);
function login($user,$pwd){
$ldap_svr =
"10.10.192.34";
$ldap_port = 389;
try{
// 连接LDAP服务器
$ldap_conn =
ldap_connect($ldap_svr,
$ldap_port)
or die("Could not connect to LDAP server.");
//LDAP服务器访问的用户名、密码
$ldapuser = "CN=,OU=,DC=,DC=";
$ldappasswd="";
//用户查找过滤器和用户域
$searchFilter =
"(sAMAccountName=".$user.")";
$baseDN = "OU=,DC=,DC=";
if ($ldap_conn) {
// binding to ldap server
if
(ldap_set_option($ldap_conn,LDAP_OPT_PROTOCOL_VERSION,3)){
}else{
echo "Failed to set version to protocol 3";
}
$ldap_opt =
ldap_set_option($ldap_conn,
LDAP_OPT_REFERRALS,0)
or exit("Failed to set
LDAP_OPT_REFERRALS to 0");
$ldapbind =
ldap_bind($ldap_conn, $ldapuser, $ldappasswd);
if( $ldapbind ){
$res =
ldap_search($ldap_conn, $baseDN,
$searchFilter)
or
exit("Unable to search ldap server");
$info =
ldap_get_entries($ldap_conn, $res);
//如用户名存在,获取其登录域名
if( $info["count"]
> 0 ){
$dn = $info[0]["distinguishedname"][0];
$userbind =
ldap_bind($ldap_conn, $dn,$pwd);
}else{
echo "username does not exist.";
return false;
}
}
else{
echo "LDAP bind
failed..";
}
ldap_unbind($ldap_conn);
//或者使用
ldap_close($ldap_conn);
if
($userbind) {
echo "loged in";
return true;
} else
{
echo "password error";
return false;
}
}
}catch(Exception $e){
}
}