<?php
session_start();
$login = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
echo $login;
$logincheck=0;
$filter = "(&(cn=*))";
$mail = 'ldap_query@corp.jcsz.com';// 域用户名
$pwd = "FGpublic01";
$basedn = "OU=JCSZ,OU=JCDZ,DC=corp,DC=jingcesuzhou,DC=com";
// 这里配置域服务器的ip或者域名
$ldapconn = ldap_connect("10.*.15.6") or die("Could not connect to LDAP server.");
ldap_set_option ( $ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3 );
ldap_set_option ( $ldapconn, LDAP_OPT_REFERRALS, 0 );
if($ldapconn){
$ldapbind = ldap_bind($ldapconn, $mail, $pwd) or die ("Error trying to bind: ".ldap_error($ldapconn));
if ($ldapbind) {
// echo "LDAP bind successful...\n\n";
$result = ldap_search($ldapconn,$basedn, $filter) or die ("Error in search query: ".ldap_error($ldapconn));
//$record = var_dump($result);
//echo $record;
$data = ldap_get_entries($ldapconn, $result);
//var_dump($data[1]['dn']);
// echo $data[1]['samaccountname'][0];
for($i=0;$i<count($data);$i++){
if($data[$i]['samaccountname'][0]==$login){
$check = ldap_bind( $ldapconn, $data[$i]['dn'],$pass);
if($check){
echo "True!\n";
$logincheck=1;
}else{
echo "Person Bind False!\n";
}
}
}
}else{
echo "Ldap Bind False";
}
}else{
echo "Ldap Connection False";
}
ldap_close($ldapconn);
if($logincheck==0||!$_SERVER['PHP_AUTH_USER']||!$_SERVER['PHP_AUTH_PW'])
{
header('WWW-Authenticate: Basic realm="please your input your password"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交