hola comunidad
mi problema es el siguiente...estoy autentificando contra un server LDap....
Código:
public function connect ($userDn=null, $userPwd=null) {
if (is_resource($this->_ds)) {
ldap_unbind($this->_ds);
}
if ($userDn===null) {
$userDn=$this->_ldapBindDn;
$userPwd=$this->_ldapBindPass;
}
$result=false;
$this->_ds=ldap_connect($this->_ldapServer);
if ($this->_ds) {
$result=ldap_bind($this->_ds, $userDn, $userPwd);
}
return $result;
}
public function getUserDn ($username) {
if (!is_resource($this->_ds)) $this->connect();
$result=null;
$filter=str_replace('%u', $username, $this->_userFilter);
$sr=ldap_search ($this->_ds, $this->_userBaseDn, $filter, array('dn'));
$info=ldap_get_entries($this->_ds, $sr);
if ($info['count']==1) {
$result=$info[0]['dn'];
} else {
$result=null;
}
return $result;
}
hasta ahi todo perfecto...me logueo sin problemas...mi dnBase es
Código:
"ou=Personas,dc=example,dc=com
el problema es que es global...es decir coje usuarios de dos ou
Código:
GroupBaseDn="ou=Profesores,ou=Personas,dc=example,dc=com
y de
GroupBaseDn="ou=Estudiantes,ou=Personas,dc=example,dc=com
pero necesito diferenciar cuando es un estudiante o un profesor....alguna idea de como podria hacerlo..he estado probando con
ldap_search pero nada todavia...alguna sugerencia???