hi,
ich nochmal. Nach weiterem erfolglosem Suchen habe ich jetzt ne eigene Lösung programmiert.
Nochmal kurz die Situation geschildert: Ich möchte ldap_authentification nutzen um mich per LDAP am Frontend anzumelden. Jedoch soll nicht jeder LDAP User nach dem Login auf der gleichen Seite landen, also habe ich eine weitere Extension installiert (sv_login_redirect). Mit dieser kann ich FrontendGruppen eine Zielseite angeben. Problem war jetzt diese Zielseite mit ldap_authentification zu verknüpfen, sprich, dass nach dem LDAP Login die Zielseite der jeweiligen Gruppe geöffnet wird.
Lösung meines Problems:
In der Datei "class.tx_ldap_authentification_pi1.php" ab Zeile 97 stehen folgende zwei Zeilen:
$target=$this->pi_getFFvalue($this->cObj->data['pi_flexform'],'inputTarget');
if ($target=='') $target = $GLOBALS['TSFE']->id;
Diese zwei Zeilen habe ich auskommentiert und direkt drunter folgendes eingefügt:
if($_POST[logintype] == 'login')
{
// verknüpfte GruppenID des ausgewählten LDAP Servers auslesen
$query = $GLOBALS['TYPO3_DB']->SELECTquery(
"groupid",
"tx_LDAPAUTH_server",
"uid=".$this->piVars['auswahl'],
"",
"groupid",
"1"
);
$res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $query);
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
$group_id = $row['groupid'];
// Zielseite der jeweiligen Gruppe auslesen
$query = $GLOBALS['TYPO3_DB']->SELECTquery(
"tx_svloginredirect_redirect",
"fe_groups",
"uid=".$group_id,
"",
"tx_svloginredirect_redirect",
"1"
);
$res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $query);
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
$redirect_page_id = $row['tx_svloginredirect_redirect'];
// falls Zielseite vorhanden, diese übernehmen,
//ansonsten die eingetragene Zielseite des LDAP Loginfensters wählen
if(($redirect_page_id != '') && ($redirect_page_id != NULL))
{
$target = $redirect_page_id;
}
else
{
$target=$this->pi_getFFvalue($this->cObj->data['pi_flexform'],'inputTarget');
// falls keine Zielseite vorhanden, aktuelle PAGE ID übernehmen
if ($target=='') $target = $GLOBALS['TSFE']->id;
}
}
Nun passiert folgendes: gibt man der Gruppe eine Zielseite an, wird diese nach dem erfolgreichen Login ausgewählt. Hat man keine Zielseite eingetragen, wird jene Zielseite genommen welche man im Loginfenster der LDAP Extension eingetragen hat. Ein Problem besteht noch darin, dass wenn man garkeine Zielseite eingetragen hat, man eigentlich auf der gleichen Seite landen sollte wo auch das Loginfenster steht. Das passiert auch, aber man erhält eine MYSQL Fehlermeldung. Das gleiche passiert wenn man als Zielseite die Seite mit dem Loginfenster auswählt. Ich weis noch nicht genau warum das passiert.
Mein Ziel war es, auf der Website nur eine Logineingabemöglichkeit anzubieten, und die Benutzer je nach Gruppenzugehörigkeit zu filtern und auf unterschiedliche Seiten weiterzuleiten. Jetzt stellt sich mir aber die Frage, wie ich denn die LDAP Benutzer unterschiedlichen Gruppen zuweisen kann? :o
vielleicht weis da einer Rat.