Как настроить OpenLDAP dn в php?

Только что изучил OpenLDAP сегодня, и я хочу интегрироваться с PHP. Что я сделал, так это установил OpenLDAP, так выглядит моя структура:

Скриншот структуры LDAP

Затем я хочу интегрировать этот LDAP в PHP, но я не знаю, как получить информацию для этой конфигурации (пробовал с этим безуспешно):

protected $baseDn = "dc=maxcrc,dc=com";
protected $dn = "cn=Manager,ou=group,o=accounts,dc=maxcrc,dc=com";
protected $groupOU = "ou=group";
protected $peopleOU = "ou=People";
protected $peopleOU = "ou=People";

Может ли кто-нибудь помочь в этом? это мой полный код для ldapconnection

 <?php
include_once('settings.php');

class LDAP_Connector {
protected $baseDn = "dc=maxcrc,dc=com";

// Distinguished name for the admin.
protected $dn = "cn=Manager,ou=group,o=accounts,dc=maxcrc,dc=com";

// The ou of groups.
protected $groupOU = "ou=group";

// The ou of people.
protected $peopleOU = "ou=People";

protected $ldapconn;

public function __construct() {
global $ldapHost, $ldapPort, $ldapUser, $ldapPassword;

message("Creating LDAP connector");
$this->ldapconn = ldap_connect($ldapHost, $ldapPort);
if ($this->ldapconn) {
message("LDAP Connected - ".$this->ldapconn);
}
else {
message("LDAP failed to connect");
}
}

public function authenticate($username, $password) {
$r = false;
global $ldapHost, $ldapPort, $ldapUser, $ldapPassword;

if ($this->ldapconn) {
$bind = ldap_bind($this->ldapconn, $this->dn, $ldapPassword);
if ($bind) {
//$uid = $ldapUser;
$uid = $username;

// Filter on the uid.
$filter = "(mail=". $uid . ")";

// Return the userPassword.
$attr = array("userpassword","rpDisabledState");

// Get the record for the user.
$result = ldap_search($this->ldapconn, $this->peopleOU . "," . $this->baseDn, $filter, $attr);

//message( "result = ".print_r($result, true) );

$entries = ldap_get_entries($this->ldapconn, $result);
//message( print_r($entries, true));

$ldapEncodedPW = "{SHA}".base64_encode(pack("H*", $password));

$userDisabled = $entries[0]["rpdisabledstate"][0];
message("User ".$username." state is ".$userDisabled);

if ($userDisabled) {
message("username ".$username." is disabled ");
}

if ($entries[0]["userpassword"][0]==$ldapEncodedPW && !$userDisabled) {
$r = true;
}
else {
message("Passwords do not match or the account has been disabled.");
message("Password (provided) = ".$ldapEncodedPW);
message("Password (ldap)     = ".$entries[0]["userpassword"][0]);

}
}
}
return $r;
}
}
?>

Надеюсь, что кто-то может помочь мне с этим, я сложил неделю для этого штука ((

С Уважением,
T

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]