12.07.2015 Aufrufe

content/Deutsch/Hilfe/TechDoku/easyLEARN Option LDAP.pdf

content/Deutsch/Hilfe/TechDoku/easyLEARN Option LDAP.pdf

content/Deutsch/Hilfe/TechDoku/easyLEARN Option LDAP.pdf

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

- 4 -welchem <strong>easyLEARN</strong> betrieben wird, ebenfalls in die Liste der erlaubten Computeraufgenommen werden.(Eigenschaften des Benutzers Konto -> Anmelden -> Computer XXXX)1.2. Datenübernahme vom <strong>LDAP</strong> ServerMit der Datenübernahme können Benutzerkonten vom <strong>LDAP</strong>-Server nach <strong>easyLEARN</strong>übernommen werden.Die Benutzer können über einen Filter ausgewählt und anschliessend importiert werden. BeimImportieren werden bestehende Konten nicht geändert, nur neue hinzugefügt.1.3. DatenabgleichBeim Datenabgleich werden alle Benutzer, welche als <strong>LDAP</strong>-Konten markiert sind, mit denBenutzerdaten vom <strong>LDAP</strong>-Server synchronisiert. Wenn die <strong>Option</strong> „Benutzer verschieben“markiert ist, wird vor der Synchronisierung eine Überprüfung der Communityzugehörigkeitgestartet und die Benutzer gegebenenfalls in eine andere Community verschoben.1.3.1.1. Grobablauf :Loop über alle erfassten Benutzerkonten mit gesetzter <strong>LDAP</strong>-FlaggeÜberprüfen ob der Benutzer im <strong>LDAP</strong>-Server vorhanden istVorhanden im <strong>LDAP</strong>-Server:Konto im <strong>LDAP</strong>-Server deaktiviert:Benutzer deaktivieren <strong>easyLEARN</strong>Konto nicht deaktiviertFelder Name, Vorname, E-Mail, Telefon, Mobile prüfen undevtl. aktualisieren. Falls Benutzer deaktiviert war, diesen wiederaktivierenNicht vorhanden im <strong>LDAP</strong>-Server:Benutzer deaktivierenSDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 5 -1.4. Felderzuordnung <strong>easyLEARN</strong> / ActiveDirectoryFeldname <strong>easyLEARN</strong> Inhaltemail E-Mailadresse mailnickname Kuzname/BenutzerID samaccountnamefirstname Vorname givennamelastname Nachname snphone Telefon telephonenumberfax Fax facsimiletelephonenumbermobile Mobile Tel-Nr. mobileexternalidExterne ReferenzID, z.B. Personal-Nr. Etc.genderGeschlecht: 1= M, 2 = FtitleTitel, z.B. Prof. Dr.address1Adresszusatzaddress2 Adresszusatz 2streetStrassezipPLZcityOrtloidemailflagBossfuncidgroupiddepartiddividsiteidccidcountryidlangiddateofbirthsalutation<strong>Option</strong> Login-ID: 2 = ausgeschaltet.1 = Pseudo-EmailE-Mail / Vorname / Name desVorgesetzenFunktionGruppe[n]AbteilungDivisionStandortKostenstelleLandesCode, 2 StellenSprachcode, 2 StellenGeburtsdatumBriefanredemanagerSDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 6 -2. Gruppenzuordnungen2.1. AllgemeinÜber die <strong>LDAP</strong> Gruppenzuordnung können Gruppen aus der <strong>LDAP</strong>-Schnittstelle den Gruppeneiner <strong>easyLEARN</strong> Community zugeordnet werden. Bei der Synchronisation eines Benutzerkontosüber die <strong>LDAP</strong>-Schnittstelle werden die Zuordnungen überprüft und die entsprechendenGruppenzugehörigkeiten in <strong>easyLEARN</strong> hinzugefügt oder entfernt.Hinweis:Dies ist das Standardverhalten der <strong>LDAP</strong>-Schnittstelle. Falls die FunktionUDF_DirectoryHandleGroupID() in config.ldap.php redefiniert ist, findet keine Zuordnung statt.Die Verwaltung der Zuordnungen erfolgt über die Rolle Systemadministrator - > <strong>LDAP</strong>-Interface ->Gruppenzuordnungen.2.2. Übersicht GruppenzuordnungSDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 8 -3. Installation / KonfigurationDie Lizenz muss die <strong>Option</strong> <strong>LDAP</strong> beinhalten. Bei der <strong>LDAP</strong>-Installation werden die notwendigenalle Dateien von install/ldap in den Installationsordner von <strong>easyLEARN</strong> kopiert.Die folgenden Programme müssen sich im Installationsordner von <strong>easyLEARN</strong> befinden.config.ldap.phpKonfiguration <strong>LDAP</strong>-Server. Die gesamte Einstellungkann in der Datenbank unter Systemadministrator -><strong>Option</strong>en als „CONFIG.<strong>LDAP</strong>.PHP“ gespeichertwerden.fusrintfdirectory.php/usrintfdirectory.php Dient zur Anzeige von Benutzern in derBenutzerverwaltungjobldapsync.phpDieses Programm dient zum Datenabgleich. Es kannim Hintergrund von Portalrun.exe gestartet werden.3.1. Einstellungen in config.php$GLOBALS["USRADM_USRFLAGS_LABEL"] = "ActiveDirectory-Konto";• Beschriftung in der Benutzerverwaltung für ein <strong>LDAP</strong>-Konto.• Markierte Benutzer Konten werden mit <strong>LDAP</strong> abgeglichen.$GLOBALS["ENHANCED_AUTH_SCRIPT"] = "include/func.enhancedlogin.php";• Dieses Script wird benötigt, wenn die Anmeldung vom <strong>LDAP</strong>-Server verifiziert werdensoll.$GLOBALS["DirectoryIntf"]="fusrintfdirectory.php?formname={formname},640,480,ActiveDirectory ";• Diese Einstellung zeigt in der Benutzerverwaltung eine Schaltfläche an, welche es dem E-Administrator erlaubt, die Benutzer via <strong>LDAP</strong>-Server zu suchen.SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 9 -3.2. Einstellungen in config.ldap.php3.2.1. Konfiguration je ServerDie <strong>LDAP</strong>-Einstellungen je Server werden im Array $GLOBALS["<strong>LDAP</strong>CONFIG"] gespeichert. Diefolgenden Einstellungen beziehen sich immer auf dieses Array. Wenn mehrere Server mitunterschiedlicher Datenbasis verwendet werden, müssen diese in einem Array analog zu$GLOBALS["<strong>LDAP</strong>CONFIG"] gespeichert werden.EinstellungSERVERBeschreibungName oder IP-Adresse des <strong>LDAP</strong>-Servers. Mehrere Server können alsArray übergeben werden. Die optionale Portnummer kann durcheinen Leerschlag nach dem Servername übergeben werden.Beispiele:$GLOBALS["<strong>LDAP</strong>CONFIG"][SERVER] =“ldap.firma.local“;$GLOBALS["<strong>LDAP</strong>CONFIG"][SERVER] =“ldap.firma.local 389“;$GLOBALS["<strong>LDAP</strong>CONFIG"][SERVER] = array(“ldap.firma.local“,„ldap2.firma.local“);BASEDNSERVERTYPEBIND_USERBIND_PASSWORDPROTOCOL_VERSIONANONYMOUSBINDDefiniert den Basis-Ast im <strong>LDAP</strong>-Baum, von dem aus die Suche nachBenutzern erfolgen soll:Beispiel: DC=company, DC=chEs ist auch möglich, dass in mehreren BaseDN’s gesucht wird. Indiesem Fall müssen die BaseDNs in einem Array konfiguriert werden(Bsp: $GLOBALS[„BASEDN“] = Array(„o=OW“, „o=NW“);AD = ActiveDirectoryleer = alle anderenWenn kein anonymes Bind möglich ist muss hier der Benutzerzwingend definiert werden. Beim Zugriff auf einen Server mitActiveDirectory ist diese Einstellung zwingend notwendig.Die Einstellung definiert den Benutzer, welcher beim Import,Datenabgleich, prüfen der Daten mit dem <strong>LDAP</strong>-Server kommuniziert.Das <strong>LDAP</strong>-Konto muss die Datensätze anderer Benutzer lesen dürfen,damit beispielsweise festgestellt werden kann, ob das Kontodeaktiviert oder gesperrt ist. Im ActiveDirectory muss dieser Benutzerdas Recht für einen Kontenoperator besitzen.skills4u@company.chPasswort für das Konto von BIND_USER<strong>LDAP</strong>-Protokollversion, Voreinstellung ist die Version 3. Beim Zugriffauf ein ActiveDirectory muss die auf Version 3 eingestellt seinVorgabe: trueSDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 10 -SEARCH_USERBASESEARCH_USERBASE_MATCHUSERID_FIELDAUTOCREATE_USERAUTOCREATE_ORGIDAUTOCREATE_ORGID_FUNCFIELDMAPSYNCMAPDefiniert, ob für die Verbindung zum <strong>LDAP</strong>-Server der BenutzerBIND_USER verwendet werden muss.true: Anonyme Verbindung zum <strong>LDAP</strong> Serverfalse: Benannte Verbindung mit BIND_USER/BIND_PASSWORTWird beim Servertyp AD automatisch auf false gesetzt da dieserkeine anonyme.Verbindungen erlaubtSuchfilter für die explizite Suche im <strong>LDAP</strong> Baum. Wird nurprogrammintern verwendet.Vorgabe beim Servertyp AD ist:(objectClass=user)sonst(objectClass=person)Suchfilter für das Browsen im <strong>LDAP</strong> Baum. Suchfilter wird z.B. beim<strong>LDAP</strong>-Browser oder Benutzerimport verwendet.Vorgabe bei Servertyp AD ist:(objectClass=user)(userprincipalname=*)sonst(objectClass=person)(uid=*)Definiert ein Datenfeld, welches einen Benutzer eindeutigidentifiziert.Vorgabe bei Servertyp AD ist:samaccountnamesonstuidEinstellung: true oder false;Voreinstellung: falseDefiniert, ob ein beim erfolgreichen Login via <strong>LDAP</strong> einBenutzerkonto in <strong>easyLEARN</strong> erstellt wird.Nummer der Community in <strong>easyLEARN</strong>, welche einem neu erstellenKonto automatisch zugeordnet wird.Voreinstellung: 1Achtung: Wenn die Benutzer in verschiedene Communities eingefügtwerden müssen, muss eine Funktion in der EinstellungAUTOCREATE_ORGID_FUNC definiert werden.Definiert eine Funktion, welche anhand der <strong>LDAP</strong>-Daten die richtigeCommunity erkennen kann.Dieses Array definiert die Zuordnung der <strong>LDAP</strong>-Felder zu den<strong>easyLEARN</strong> Datenbankfeldern.Die Einstellung "--default—„ bedeutet, dass der Wert von derVoreinstellung der Community gelesen wird (Fenster 6.1.1 /Community verwalten -> Einstellungen -> Parameter/Vorgaben)Dieses Array definiert, ob ein Datenfeld beim Datenabgleichberücksichtigt wird0 = nicht ändernSDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 11 -BAN_MISSING_USERBAN_MISSING_USER_DELSCHEDULERBAN_MISSING_USER_STARTEDCOURSESSYNC_MOVEUSERSEARCHRESULTFIELDIMPORTLISTVIEWBROWSELISTVIEW1 = mit dem Wert vom <strong>LDAP</strong>-Konto überschreiben1 = Benutzer, welche bei der Synchronisierung nicht im <strong>LDAP</strong>-Verzeichnis vorhanden sind, werden gesperrt.1 = Alle Kurse dieses Benutzers werden aus der Kursplanungentfernt.1 = Alle gestarteten Kurse dieses Benutzers werden entfernt.1 = Benutzer werden auf Ihre Zugehörigkeit zur Community überprüftund ggf. zwischen den Communities verschoben.Voraussetzung: Die <strong>Option</strong> AUTOCREATE_ORGID_FUNC muss miteiner gültigen Funktion definiert sein.Enthält ein Array von allen benötigten <strong>LDAP</strong>-Feldnamen, welche fürden Import und die Synchronisation verwendet werden.Wenn diese Einstellung fehlt, werden alle Felder vom <strong>LDAP</strong>-ServergelesenEnthält ein Array von <strong>LDAP</strong>-Feldern und Überschrift, welche in derImportvorauswahl 80.1.2 die gefundenen Benutzer in der <strong>LDAP</strong>-Datenbank anzeigt.Enthält ein Array von <strong>LDAP</strong>-Feldern und Überschriften, welche in derBrowserübersicht 80.3.1 die gefundenen Benutzer in der <strong>LDAP</strong>-Datenbank anzeigt. Standardmässig enthält das Array die folgendenWerte:array($ldap->GetUserIDField() => LNG_NICKNAME,"mail"=> LNG_EMAIL,"givenname" => LNG_FIRSTNAME,"sn"=> LNG_LASTNAME);3.2.2. AuswahlfelderSind untenstehende <strong>easyLEARN</strong> Auswahlfelder im Array FIELDMAP + SYNCMAP definiert,werden fehlende Werte bei der Synchronisation automatisch in <strong>easyLEARN</strong> eingefügt undzugeordnet.Werden Benutzerdefinierten Funktionen zur Verarbeitung der Auswahlfelder verwendet, ist dieStandardverarbeitung ausser Kraft gesetzt.Betrifft die Auswahlfelder, Funktionen, Abteilungen, Divisionen, Standorte, Kostenstellen undLand.SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 12 -3.2.3. Mehrere <strong>LDAP</strong>-ServerBei speziellen Installationen kann es notwendig sein, dass mehrere <strong>LDAP</strong>-Server von <strong>easyLEARN</strong>eingebunden werden müssen, um verschiedene Datenstämme zu integrieren. Bei jedem Servermuss ein Konfigurationsarray erstellt werden. Zusätzlich müssen Funktionen bereitgestelltwerden, damit beim Datenabgleich der korrekte <strong>LDAP</strong>-Server je Benutzerkonto verwendet wird.Um mehrere <strong>LDAP</strong>-Server zu aktivieren, muss das Array „<strong>LDAP</strong>POOLCONFIG“ erzeugt werden.Das Array enthält den Namen der Einstellung unter dem die Konfiguration je Server gespeichertist. Die Einstellung „<strong>LDAP</strong>CONFIG“ muss für den ersten Server verwendet werden, bei denweiteren Servern kann der Name gemäss PHP-Konventionen gewählt werden.$GLOBALS["<strong>LDAP</strong>POOLCONFIG"] = Array("<strong>LDAP</strong>CONFIG" => "<strong>LDAP</strong> Mitarbeiter","EXTERN<strong>LDAP</strong>" => "<strong>LDAP</strong> Partner/Externe");$GLOBALS["<strong>LDAP</strong>POOL"] = Array();SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 13 -Für den Benutzerabgleich sind zusätzlich zwei Funktionen zu definierenfunction UDF_<strong>LDAP</strong>PoolInit($cfg){$result = "";$n = $GLOBALS["<strong>LDAP</strong>POOLCONFIG"] ;foreach($n as $config => $descr){$GLOBALS["<strong>LDAP</strong>POOL"][$config] = new c<strong>LDAP</strong>($config);}foreach($GLOBALS["<strong>LDAP</strong>POOL"] as $ldapobj){if (!$ldapobj->Bind()){$result .= "<strong>LDAP</strong>[" . $ldapobj->ConfigID() ."] : Bind Failed :" . $ldapobj->ErrorString() ."\n";}}return $result;}function UDF_<strong>LDAP</strong>PoolSelect($cfg,$rc){$db = &$cfg->db;$userid = $db->f($rc,"nickname");if (substr($userid,0,1) == "2")return $GLOBALS["<strong>LDAP</strong>POOL"]["EXTERN"];return $GLOBALS["<strong>LDAP</strong>POOL"]["<strong>LDAP</strong>CONFIG"];}Die Funktion UDF_<strong>LDAP</strong>PoolInit($cfg) wird einmal vor der Synchronisation aufgerufen. Diezweite Funktion UDF_<strong>LDAP</strong>PoolSelect($cfg,$rc) wird innerhalb der Synchronisation bei jedemBenutzer aufgerufen. Die Variable $rc enthält alle Datenbankfelder des Benutzerdatensatzes.Dadurch kann Anhand er Benutzerdaten der korrekte <strong>LDAP</strong>-Server gewählt werden.SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 14 -3.2.4. <strong>Option</strong>ale Funktionen3.2.4.1. Zusätzliche Filter für den BenutzerimportMit den optionalen Funktionen UDF_DirectoryImportFilter($cfg,$form) können zusätzlicheEingabefelder in die Filtermaske 80.1.1 aufgenommen werden. Die zusätzlichen Felder müssenüber die Funktion UDF_DirectoryImportSelectUsers($cfg,$ldap,&$filter) in den Filter für den<strong>LDAP</strong>-Aufruf angefügt werden (Siehe Beispiel).3.2.4.2. Anzeige der gefilterten Benutzer beim BenutzerimportMit der optionalen Funktion UDF_DirectoryImportBrowseUsers($cfg,$ldap,$tbl) kann die interneFunktion für das Aufbereiten der gefilterten Benutzer ersetzt werden. Als Ergebnis gibt dieFunktion die Anzahl neuer Benutzer an und füllt die Tabelle $tbl mit allen neuen Benutzern(Siehe Beispiel).3.2.4.3. Anzeige der Benutzerliste beim <strong>LDAP</strong>-BrowserMit der optionalen Funktion UDF_<strong>LDAP</strong>BrowserFunc($cfg,$ldap,$filter,$myself) kann die interneFunktion für die Anzeige der gefundenen Benutzer ersetzt werden. Als Ergebnis gibt dieFunktion eine Tabelle $tbl mit allen gefundenen Benutzern zurück(Siehe Beispiel).3.2.4.4. Spezielle DatenfelderDiese Funktion geben als Ergebnis den Inhalt des Datenfeldes zurück (Sprachcode,Landescodeetc).UDF_DirectoryHandleGroupID($cfg,$ldap,$option,$sysdefault,$orgid,$mode);UDF_DirectoryHandleDepartID($cfg,$ldap,$option,$sysdefault,$orgid,$mode);UDF_DirectoryHandleCCID($cfg,$ldap,$option,$sysdefault,$orgid,$mode);UDF_DirectoryHandleLangID($cfg,$ldap,$option,$sysdefault,$orgid,$mode);UDF_DirectoryHandleSiteID($cfg,$ldap,$option,$orgid,$sysdefault,$mode);UDF_DirectoryHandleDivisionID($cfg,$ldap,$option,$orgid,$sysdefault,$mode);UDF_DirectoryHandleFunctionID($cfg,$ldap,$option,$orgid,$sysdefault,$mode);UDF_DirectoryHandleCountryID($cfg,$ldap,$option,$orgid,$sysdefault,$mode);Parameter$cfg$ldap$option$sysdefault$orgid$modeBeschreibungKlasse cConfigKlasse mit den <strong>LDAP</strong> DatenInhalt des <strong>LDAP</strong> Feldes, d.h. der Wert der verändert werden soll.Standardwert dieses Feldes für die aktuelle Community.aktuelle CommunityModus Insert (Neue Benutzer) oder Update (Synchronisation) Werte.1 = Insert2 = UpdateSDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 15 -3.2.4.5. UDF_DirectoryHandleBossDiese Funktion wird bei der Synchronisation des Vorgesetzten verwendet.UDF_DirectoryHandleBoss($cfg,$ldap,$ldap2,$orgid,$mode, &$email,&$firstname,&$lastname)$cfg$ldap$ldap2$orgid$mode&$email&$firstname&$lastnameKlasse cConfigKlasse mit den <strong>LDAP</strong> Daten2 Instanz zum Suchen innerhalb von <strong>LDAP</strong>, ohne die aktuelle Instanz $ldapzu verändernaktuelle CommunityModus Insert (Neue Benutzer) oder Update (Synchronisation) Werte.1 = Insert2 = UpdateEnthält die E-Mailadresse des aktuellen Vorgesetzten. In dieses Feld muss ggf.die neue E-Mail gespeichert werden.Enthält den Vornamen des aktuellen Vorgesetzten. In dieses Feld muss ggf.der neue Vorname gespeichert werden.Enthält den Nachnamen des aktuellen Vorgesetzten. In dieses Feld muss ggf.der neue Nachname gespeichert werden.3.2.4.6. UDF_DirectoryHandleFieldMit der Funktion UDF_DirectoryHandleField können alle anderen Felder ausser den obengenannten Felder von der Standardverarbeitung ersetzt werden. Die Funktion muss als Ergebnistrue zurückgeben, wenn die Standardverarbeitung ersetzt werden soll. Die Daten des Feldesmuss im Feld $data gespeichert werden.UDF_DirectoryHandleField($cfg,$ldap,$field,&$data,$orgid,$mode);3.2.4.7. UDF_DirectoryHandleUpdateFieldDie Funktion UDF_DirectoryHandleUpdateField wird bei der Synchronisation für jedes Datenfeldaufgerufen. Die Funktion muss als Ergebnis true zurückgeben, wenn die Standardverarbeitungersetzt werden soll. Die Daten des Feldes und der Datenbanfeldname müssen im Feld $data alsZuweisung für den SQL-String gespeichert werden (Beispiel: countryid=’CH’);.UDF_DirectoryHandleUpdateField($cfg,$ldap,$field,$value,$orgid,$queryid,&$data)3.2.4.8. Gesperrte BenutzerkontosMit der Funktion UDF_<strong>LDAP</strong>AccountLocked($ldap) wird der Lockstatus eines Benutzerkontos alstrue oder false zurückgegeben. Beim Servertyp AD wird der Status aus dem Datenfelduseraccountcontrol gelesen. Für alle anderen Servertypen muss diese Funktion definiert werden,wenn gesperrte Benutzer im <strong>LDAP</strong>-Verzeichnis auch für <strong>easyLEARN</strong> gesperrt werden sollen.SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 16 -3.2.4.9. UDF_DirectoryPostProcessNewUserDiese Funktion wird nach dem Erstellen eines neuen Benutzers aufgerufen. Sie kann zumEinstellen weiterer <strong>Option</strong>en im Benutzerkonto verwendet werden. Das Ergebnis dieser Funktionwird nicht ausgewertet.(void) UDF_DirectoryPostProcessNewUser($cfg,$uid,$ldap)Das Feld uid enthält die uid des neuen Users.SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 17 -3.3. Beispiel config.ldap.php


- 18 -*/"emailflag" => "","loid" => "","externalid" =>"");$GLOBALS["<strong>LDAP</strong>CONFIG"]["SYNCMAP"] = array("banned" => 1,"email" => 1,"userid" => 0,"firstname" => 1,"lastname" => 1,"phone" => 1,"fax" => 1,"mobile" => 1,"title" => 0,"gender" => 0,"address1" => 0,"address2" => 0,"street" => 0,"zip" => 0,"city" => 0,"emailflag" => 0,"loid" => 0,"siteid" => 0,"departid" => 1,"groupid" => 0,"ccid" => 0,"langid" => 0,"countryid" => 0,"externalid" =>0);$GLOBALS["<strong>LDAP</strong>CONFIG"]["SEARCHRESULTFIELD"] = array("mail","samaccountname","userprincipalname","givenname","sn","telephonenumber","facsimiletelephonenumber", "mobile","department","st","physicaldeliveryofficename","company","useraccountcontrol","memberof");$GLOBALS["<strong>LDAP</strong>CONFIG"]["IMPORTLISTVIEW"] = array("mail"=> "E-Mail","givenname"=> "Vorname","sn"=> "Nachname",// "telephonenumber" => "Telefon",// "facsimiletelephonenumber" =>"Fax",// "mobile" => "Mobile",// "department" => "Abteilung","company"=> "Firma","st"=> "Bundesland/Kanton","physicaldeliveryofficename" => "Büro");function My_<strong>LDAP</strong>IMPORT_Orgid($ldap){$comp = $ldap->GetAttribute("company");switch ($comp){case "Company A": return 2;break;default: return 1;SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 19 -}}break;/* Mit dieser Funktion lassen sich Selektions-Felder hinzufügen. (80.1.1) */function UDF_DirectoryImportFilter($cfg,&$form){$form->setField("company",LNG_COMPANY,"text","","size=40");$form->setField("department",LNG_DEPARTMENT,"text","","size=40");$form->setField("officename",LNG_DIR_OFFICENAME,"text","","size=40");$form->setField("st",LNG_DIR_STATE_COUNTY,"text","");}/* Diese Funktion fügt die in „UDF_DirectoryImportFilter“ definierten Felderin den Suchfilter der <strong>LDAP</strong>-Abfrage ein. */function UDF_DirectoryImportSelectUsers($cfg,$ldap,&$filter){if ($cfg->Request("company"))$filter[$ldap->MapDBTo<strong>LDAP</strong>("company")] = $cfg->Request("company");if ($cfg->Request("department"))$filter["department"] = $cfg->Request("department");if ($cfg->Request("officename"))$filter["physicaldeliveryofficename"] = $cfg->Request("officename");if ($cfg->Request("st"))$filter["st"] = $cfg->Request("st");}/*function UDF_<strong>LDAP</strong>AccountLocked($ldap){return true/false}*//*function UDF_DirectoryHandleField($cfg,$ldap,$field,&$data,$orgid,$mode){$processed = false;return $processed;}*//*function UDF_DirectoryHandleSiteID(($cfg,$ldap,$option,$orgid,$sysdefault,$mode){return $sysdefault;}*//*function UDF_DirectoryHandleLangID($cfg,$ldap,$option,$sysdefault,$orgid,$mode){return $sysdefault;}*//*SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 20 -function UDF_DirectoryHandleCCID($cfg,$ldap,$option,$sysdefault,$orgid,$mode){return $sysdefault;}*//*function UDF_DirectoryHandleCountryID($cfg,$ldap,$option,$orgid,$sysdefault,$mode){return $sysdefault;}/*function UDF_DirectoryHandleDepartID($cfg,$ldap,$option,$sysdefault,$orgid,$mode){$departdescr = $ldap->GetAttribute("department");if (!$departdescr)return $sysdefault;$db = & $cfg->db;$tdepartment = $cfg->tblid ."department";$rc = $db->queryNext("select departid from $tdepartment where orgid=$orgid anddescr = '$departdescr'");if ($rc)return $db->f($rc,"departid");$i = 0;do{$i++;$departid = sprintf("%06d",$i);} while ($db->queryNext("select departid from $tdepartment where orgid=$orgid anddepartid='$departid'"));$sql = "insert into $tdepartment (departid,orgid,descr)values('$departid',$orgid,'$departdescr')";$db->query($sql);$cfg->LogSQL($sql,"INSERT DEPARTMENT","IMPORT_USER");return $departid;}*//*function UDF_DirectoryHandleGroupID($cfg,$ldap,$option,$sysdefault,$orgid,$mode){return $sysdefault;}*/} // defined(CONFIG_<strong>LDAP</strong>_PHP)?>SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 21 -4. Hintergrundprozess erstellenDie <strong>Option</strong> <strong>LDAP</strong> benötigt einen Hintergrundprozess, welcher die Benutzer Daten im <strong>easyLEARN</strong>auf dem neuesten Stand hält. Für die Verarbeitung wird das Programm portalrun.exe verwendet,welches das Skript jobldapsync.php ausführt.4.1. Portalrun im Taskscheduler (Geplante Tasks) konfigurierenÖffnen Sie das Fenster Geplante Tasks :1. Start -> Einstellung -> Systemsteuerung -> Geplante Tasks2. Wählen Sie Geplanten Task hinzufügen3. Klicken Sie im Assistent auf die Schaltfläche Weiter4. Klicken Sie auf die Schaltfläche Durchsuchen und wählen Sie das ProgrammPortalrun.exe aus, normalerweise befindet sich das Programm in Installationsverzeichnisvon <strong>easyLEARN</strong>.5. Klicken Sie auf Täglich und die Schaltfläche Weiter6. Ändern Sie die Zeit auf 06:00 und klicken Sie auf die Schaltfläche Weiter7. Geben Sie den Benutzernamen und das Passwort ein, unter dem dieses Programmausgeführt werden soll (z.B. NT AUTHORITY\SYSTEM).8. Klicken Sie auf FertigstellenNun wird Ihnen der erstellte Task angezeigt. Fügen Sie jetzt im Feld "Starten" die korrekte URLan. Die URL muss auf das Portalscript jobldapsync.php zeigen.Beispiele:• http://www.intra/jobldapsync.php• http://www.portal.intra/portal/jobldapsync.phpSDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936


- 22 -4.1.1. Zeitplan einstellenStellen Sie die Startzeit ein, ab wann portalrun.exe täglich ausgeführt wird.SDN AG Main +41 (0)43 322 72 00Solution Development Network Fax +41 (0)43 322 72 01Bachstrasse 39www.sdnag.comCH - 8912 ObfeldenInfo@sdnag.comMWST-Nr. 383936

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!