für einen einzigen Benutzer in unserem Shop haben wir die Anforderung erhalten, dass er durch den Aufruf eines zu definierenden URL Pfades (z.B. http://unser-shop.com/autologinpfad) und unter Angabe eines speziellen Request Parameters automatisch eingeloggt werden soll. Das Passwort des Benutzers soll dabei aber nicht mitgegeben werden müssen!
Wir planen hierfür ein neues Plugin zu schreiben, wobei dessen Controller Action auf den Pfad (also ‚/autologinpfad‘) reagiert. Nun meine Frage: Welche Möglichkeiten haben wir, um nach Prüfung aller Erfordernisse den Benutzer im Controller einzuloggen und ihn sodann auf dessen Account Seite zu redirecten?
Möglich wäre z.B. ein Redirect auf die loginAction des Account Controllers, jedoch müssen wir dafür das Passwort irgendwo hinterlegen.
Ich habe bereits ein AutoLogin Plugin programmiert (ist auch im Store), aber nur für einen Benutzer ist etwas ungewöhnlich. Egal welchen Weg man geht, du musst vom Benutzer einen eindeutigen Parameter übergeben, und das ganze auch so, dass ein Mißbrauch ebenfalls ausgeschlossen wird - also, nicht dass sich dann ein Fremder einfach einloggen kann. Das wird nicht einfach!
Wie der Login bei SW funktioniert, ist ja aus den Dateien ersichtlich. Siehe Frontend Controller Auccount -> loginAction(). Und das müsst ihr dann nachbilden Also einen eigenen Controller „autologinpfad” bauen, den Login nachbauen und Redirect auf die zuletzt besuchte Seite oder Kundenkonto.
ja das läuft mittlerweile. Schau Dir mal den Link von simkli weiter oben an: Wir loggen den Benutzer anhand der im Request übergebenen E-Mail Adresse und Passwort genau so ein. Ist also keine Hexerei.