HfWU - LDAP Anbindung

Aus Wikizone
Wechseln zu: Navigation, Suche

Die LDAP - Anbindung erfolgt mit Hilfe der Extension LDAP Integration

Konfiguration

Server: 193.196.132.44
Port: 389
LDAP-Version: 2
Basis DN: ou=People,dc=fh-nuertingen,dc=de
Art des LDAP Server: OpenLDAP
Filter: CN=*
Benutzer: uid=Manager,ou=People,dc=fh-nuertingen,dc=de
Pass: sagichnich
Attribut für Benutzername: uid
Attribut für Email: mail
Standard verwenden, um Benutzer zu Gruppen zuzuordnen: ja

Probleme

Speicherüberlauf beim Import der User

Probleme macht die Funktion:convertArray in der Datei class.tx_eulap_div.php Sie dient zur umwandlung des Zeichensatzes der Benutzerdaten. Dazu bedient Sie sich eines rekursiven Aufrufs, der bei großen Datenmengen zu einem Speicherüberlauf führt. Da der HfWU LDAP Server und Typo3 beide utf-8 benutzen, konnte das Problem durch eine kleine Erweiterung behoben werden. Vor dem rekursiven aufruf wird geprüft ob die Charsets gleich sind. Wenn dies der Fall ist wird das Array unverändert zurückgegeben.

Original:

	function convertArray($arr, $char1, $char2) {
		while (list($k, $val) = each($arr)) {
			if (is_array($val)) {
				$arr[$k] = tx_euldap_div::convertArray($val, $char1, $char2);
			} else {
				$arr[$k] = $this->csObj->conv($val, $char1, $char2);
			}
		}
		return $arr;
	}

Modifizierte Version:

	function convertArray($arr, $char1, $char2) {
	   if($char1 != $char2){
		while (list($k, $val) = each($arr)) {
			if (is_array($val)) {
				$arr[$k] = tx_euldap_div::convertArray($val, $char1, $char2);
			} else {
				$arr[$k] = $this->csObj->conv($val, $char1, $char2);
			}
		}
	   }
		return $arr;
	}

gelöschte Usergruppen werden nicht wieder hergestellt

Gruppen die in der Datenbank zwar vorhanden, aber als gelöscht markiert sind werden nicht wiederhergestellt wenn ein Benutzer zu dieser Gruppe gehört. Lösung: Eine erweiterung der Funktionen (assignGroups oder insertSingleUser o.ä.) müßte möglich sein.