Alles klar, verstanden Folgende Empfehlung an dich: kb_md5fepw auth servcie anschauen, dort wird der authservice so überschieben dass gegen md5 hahs gecheckt wird! Das sollte die Grundlage für dienen service sein.
Dann würde ich ein Dummy FE-User anlegen,mit der zusätzlichen spalte des bonuscodes, das passwortfeld de felogin auf hidden setzen und zb das aktuelle datum reinrendern lassen als value. In deinem authservice ist das erste was du in überprüfst ist ob die gesendete uhrzeit als passwort stimmt (kannst ud ja fürs erste weglassen) und holst dir dann den feuser datensatz aus der datenbank mit der entscprechen bonuscode. mit diesen Daten ersetzt!!! du dann die Logindaten im array (also username und passwort wie es richtig ist), und übergibst dass dann in die normale authentifizierung. Das sollte dann direkt funktionieren, da ja username und passwort erfolgreich gegen die db gecheckt werden kann. lG Steffen Siedlaczek, Sandy schrieb: > Oh Mann danke, du rettest mir gerade meine Gesundheit mit deinen Antworten. > :) Ursprünglich ist in diesem Projekt verlangt worden, dass bestimmte Kunden > sich mit einem zugesandten Bonuscode in bestimmte Bereiche der Website > einloggen können sollen. In diesen Bereichen wird es dann weitere > Einstellungsmöglichkeiten geben... > Für diese spezielle Seite muss dann eine andere Spalte als username > abgefragt werden und ein Passwort haben diese Kunden noch gar nicht. > > Nun sollen die Spalten für username und password als ServiceOption angegeben > werden, sowie die Seiten auf denen der Service arbeiten soll. Daran hänge > ich gerade, weil ich scheinbar keine aktuelle Seiten-ID übergeben bekomme. > Der nächste Schritt wäre dann eine Authentifizierung des Users ohne > Passwort. Sofern ein bestimmter Schlüssel in der ServiceOption 'password' > eingegeben wurde. *lufthol* > > Und wenn das dann alles läuft, soll der Service irgendwann mal komplett > variabel werden, so dass man auf jeder Log-In Seite diese Optionen neu > wählen kann. Aber das ist nur mir wichtig und erstmal zweitrangig. So wäre > es dann aber wirklich flexibel und würde evtl. ein paar Leuten in der > Community wirklich helfen. > > Gruß Sandy > > -----Ursprüngliche Nachricht----- > Von: Steffen Ritter [mailto:[EMAIL PROTECTED] > Gesendet: Mittwoch, 4. Juni 2008 15:20 > An: typo3-german@lists.netfielders.de > Betreff: Re: [TYPO3-german] Auth Service erweitern > > solang das TFSE als objekt erstellt wurde (waws beim fe auth ja der fall > ist) kannst du aus $GLOBALS['TSFE'] die der aktuellen Seite auslesen. > > Was hast du denn genau vor? > > Siedlaczek, Sandy schrieb: >> Das nenne ich mal eine schnelle Antwort. :) >> >> Bei diesen Einträgen handelt es sich, um die Spaltennamen für username und >> password. Anstatt username soll halt die Spalte "bonus" abgefragt werden. >> Dies funktioniert auch in der ersten Version. Wenn die Postvariable >> existiert, wird "bonus" durchsucht, ansonsten ganz normal "username". > Leider >> geht in der zweiten Version gar nix mehr und ich weiß nicht so ganz, woran >> es liegt. Ich hole mir die kommaseparierte Liste PIDs mit > getServiceOption, >> befreie sie von Leerzeichen. Splitte die Liste danach in ein array auf und >> stelle zum Schluss noch den Abgleich mit der Seite, auf der der Log-In >> stattfinden soll. Oder kann ich mir in einem Service nicht so einfach die >> aktuelle PID holen? >> >> Gruß Sandy >> >> -----Ursprüngliche Nachricht----- >> Von: Steffen Ritter [mailto:[EMAIL PROTECTED] >> Gesendet: Mittwoch, 4. Juni 2008 14:17 >> An: typo3-german@lists.netfielders.de >> Betreff: Re: [TYPO3-german] Auth Service erweitern >> >> Hallo, >> du hast was sehr aufregendes geändert :) Ich denke db_uer steht für >> Datenbankuser, und wenn das etwas ist, was nicht du sondern von TYPO3 >> eingeführt wurde, hast du damit den Datenbank für TYPO3 verweigert. >> andernfalls frag doch mal die Debug ausgaben... >> lG >> >> Steffen >> >> Siedlaczek, Sandy schrieb: >>> Hi Steffen, Hi all, >>> >>> also erstmal Danke für deine Tipps. Es hat mir den Service auf jeden Fall >>> schon näher gebracht. >>> >>> Ich hatte es erstmal soweit, dass die Existenz einer Post-Variable >> abgefragt >>> wird und daraufhin die Username-Spalte ersetzt wird. Das klappt natürlich >>> und ist ja auch nicht sonderlich schön. Hier trotzdem mal mein Ansatz: >>> >>> if(isset($_POST['bonus'])) { >>> $this->db_user['username_column'] = 'bonus'; >>> $this->db_user['userident_column'] = 'password'; >>> } >>> >>> Bevor ich nun irgendwie noch das PW weglassen möchte, würde ich gerne >> diese >>> Postvariable durch eine Service-Option ersetzen, in welcher die >> betroffenen >>> PIDs stehen sollen: >>> >>> ... $ActPage = GLOBALS['TSFE']->id; >>> $PIDList = $this->getServiceOption('PIDList'); >>> $PIDList = str_replace(' ','',$PIDList); >>> $PIDArr = explode(',',$PIDList); >>> >>> if(is_array($PIDArr) && in_array($ActPage,$PIDArr)) { >>> $this->db_user['username_column'] = 'bonus'; >>> $this->db_user['userident_column'] = 'password'; >>> } >>> ... >>> >>> Führt allerdings nur zu einer weißen Seite, obwohl ich noch nichts >>> Aufregendes verändert habe. Woran liegt das?Mich graust es schon davor, >> die >>> nächsten Schritte zu unternehmen... Na ja, wegen dem weglassen der >>> Passwörter habe ich schon andere Tipps gefunden. Oh Mann, jeder Anfang > ist >>> schwer >>> >>> >>> Gruß Sandy >>> >>> _______________________________________________ >>> TYPO3-german mailing list >>> TYPO3-german@lists.netfielders.de >>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german >> _______________________________________________ >> TYPO3-german mailing list >> TYPO3-german@lists.netfielders.de >> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german > _______________________________________________ > TYPO3-german mailing list > TYPO3-german@lists.netfielders.de > http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.netfielders.de http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german