I have to read some general information of user
like name, last name , email, department and etc. from an active directory with a PHP script
This is my code:
define('DOMAIN_FQDN', 'domain.ltd');
define('LDAP_SERVER', '192.168.30.1');
$user = strip_tags($_POST['username']) .'@'. DOMAIN_FQDN;
$pass = stripslashes($_POST['password']);
$conn = ldap_connect("ldap://". LDAP_SERVER ."/");
if (!$conn){
$err = 'Could not connect to LDAP server';
}else{
//define('LDAP_OPT_DIAGNOSTIC_MESSAGE', 0x0032);
ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($conn, LDAP_OPT_REFERRALS, 0);
$bind = @ldap_bind($conn, $user, $pass);
ldap_get_option($conn, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error);
if ($bind){
//$base_dn = array("CN=Users,DC=". join(',DC=', explode('.', DOMAIN_FQDN)), "OU=Users,OU=People,DC=". join(',DC=', explode('.', DOMAIN_FQDN)));
$base_dn = array("DC=". join(',DC=', explode('.', DOMAIN_FQDN)), "OU=*,DC=". join(',DC=', explode('.', DOMAIN_FQDN)));
$result = ldap_search(array($conn,$conn), $base_dn, "(cn=*)");
if (!count($result)){
$err = 'Unable to login: '. ldap_error($conn);
}else{
foreach ($result as $res){
$info = ldap_get_entries($conn, $res);
print_r($info);
}
}
}
}
This code print_r($info);
returns a array with a lot of data which means my connection is working good..
but there isn't any thing about user
i need to get current logged in user data
Is this wrong or I must put some more options on it?
the user data in active directory: