Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2008, 11:54
Avatar de SidP
SidP
 
Fecha de Ingreso: febrero-2006
Ubicación: /etc/php.ini
Mensajes: 129
Antigüedad: 18 años, 3 meses
Puntos: 2
comprobar dn en ldap

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???