# Login via Kundennummer und Passwort

**URL:** <https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [6. Februar 2012 um 11:13 UTC](https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078 "2012-02-06T11:13:54Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![dsinf](https://avatars.discourse-cdn.com/v4/letter/d/e0b2c6/32.png) [@dsinf](https://forum.shopware.com/u/dsinf)\
**Post date:** [6. Februar 2012 um 11:13 UTC](https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078/1 "2012-02-06T11:13:54Z")

</div>

Ich wollte zusätzlich den Login über Kundennummer und Passwort in meinem Shop ermöglichen. Dazu habe ich in einem Plugin folgende Methoden hinzugefügt. Vielleicht sucht jemand mal nach soetwas: in der install-Methode: ` //Creating hook for login $event = $this-\>createHook( 'sAdmin', 'sLogin', 'onLogin', Enlight\_Hook\_HookHandler::TypeBefore, 0 ); $this-\>subscribeHook($event); ` die Methode an sich: ` public static function onLogin(Enlight\_Hook\_HookArgs $args) { $form\_data = &$args-\>getSubject()-\>sSYSTEM-\>\_POST; if (!preg\_match('/@/', $form\_data['email'])) { $data = Shopware()-\>Db()-\>fetchAll("SELECT ub.userID, u.email FROM s\_user\_billingaddress ub LEFT JOIN s\_user u ON ub.userID = u.id WHERE customernumber = ?", array($form\_data['email']) ); //Kundennummer müssen unique sein if (count($data) == 1) { $form\_data['email'] = $data[0]['email']; } } } ` Ob es sich um eine Kundennummer oder E-Mail-Adresse handelt wird nur sehr einfach (über das @) überprüft. Sollte jedoch an dieser Stelle ausreichen. Viele Grüße === EDIT: Achja, statt `$args-\>getSubject()-\>sSYSTEM-\>\_POST` wollte ich eigentlich das neuere `$args-\>getSubject()-\>Request()` verwenden. Jedoch klappt das in diesem Kontext nicht: Fatal error: Call to undefined method Shopware\_Proxies\_sAdminProxy::Request() Denkfehler?

---

<div class="post-metadata">

**Author:** ![aikanet](https://avatars.discourse-cdn.com/v4/letter/a/3da27b/32.png) [@aikanet](https://forum.shopware.com/u/aikanet)\
**Post date:** [15. Februar 2012 um 17:46 UTC](https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078/2 "2012-02-15T17:46:49Z")

</div>

Das Request-Objekt sollte sich eigentlich wiefolgt laden lassen: $request = $args-\>getSubject()-\>Request(); Alles weitere sollte die ZF-Doku hergeben…

---

<div class="post-metadata">

**Author:** ![anakhha](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anakhha](https://forum.shopware.com/u/anakhha)\
**Post date:** [14. August 2013 um 19:50 UTC](https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078/3 "2013-08-14T19:50:33Z")

</div>

Hallo 🙂 wie kann ich den Code Implementieren? Wo genau? Ich wäre sehr dankbar für jede Info. Ich suche schon so lange nach ähnliche lösung… VG Andy [quote=„dsinf“]Ich wollte zusätzlich den Login über Kundennummer und Passwort in meinem Shop ermöglichen. Dazu habe ich in einem Plugin folgende Methoden hinzugefügt. Vielleicht sucht jemand mal nach soetwas: in der install-Methode: ` //Creating hook for login $event = $this-\>createHook( 'sAdmin', 'sLogin', 'onLogin', Enlight\_Hook\_HookHandler::TypeBefore, 0 ); $this-\>subscribeHook($event); ` die Methode an sich: ` public static function onLogin(Enlight\_Hook\_HookArgs $args) { $form\_data = &$args-\>getSubject()-\>sSYSTEM-\>\_POST; if (!preg\_match('/@/', $form\_data['email'])) { $data = Shopware()-\>Db()-\>fetchAll("SELECT ub.userID, u.email FROM s\_user\_billingaddress ub LEFT JOIN s\_user u ON ub.userID = u.id WHERE customernumber = ?", array($form\_data['email']) ); //Kundennummer müssen unique sein if (count($data) == 1) { $form\_data['email'] = $data[0]['email']; } } } ` Ob es sich um eine Kundennummer oder E-Mail-Adresse handelt wird nur sehr einfach (über das @) überprüft. Sollte jedoch an dieser Stelle ausreichen. Viele Grüße === EDIT: Achja, statt `$args-\>getSubject()-\>sSYSTEM-\>\_POST` wollte ich eigentlich das neuere `$args-\>getSubject()-\>Request()` verwenden. Jedoch klappt das in diesem Kontext nicht: Fatal error: Call to undefined method Shopware\_Proxies\_sAdminProxy::Request() Denkfehler?[/quote]

---

<div class="post-metadata">

**Author:** ![justink](https://avatars.discourse-cdn.com/v4/letter/j/e79b87/32.png) [@justink](https://forum.shopware.com/u/justink)\
**Post date:** [17. März 2014 um 17:59 UTC](https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078/4 "2014-03-17T17:59:44Z")

</div>

Im neusten Shopware muss man den Hook anders zuweisen: `$this-\>subscribeEvent( 'sAdmin::sLogin::before', 'onLogin' );` Der Rest bleibt gleich. Bei mir geht $arguments-\>getSubject()-\>Request() ebenfalls nicht: Fatal error: Call to undefined method Shopware\_Proxies\_sAdminProxy::Request() in /var/www/shopwaretest/shopware/engine/Shopware/Plugins/Local/Frontend/etIDLogin/Bootstrap.php on line 128 503 Service Unavailable

---

<div class="post-metadata">

**Author:** ![HEIfisch](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/heifisch/32/58_2.png) [@HEIfisch](https://forum.shopware.com/u/HEIfisch)\
**Post date:** [24. Oktober 2014 um 23:17 UTC](https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078/5 "2014-10-24T23:17:55Z")

</div>

Hallo und herzlichen Dank für die Bereitstellung der Informationen zum Login mit Kundennummer. Ein bestehendes Plugin habe ich um die entsprechenden Zeilen ergänst. Leider ist dennoch kein Login via Kundennummer möglich. „Ihre Zugangsdaten konnten keinem Benutzer zugeordnet werden“ Das Plugin wird richtig geladen, ein Login via Email ist möglich. Hat sich was in der Zuordnung der Datenbank geändert? Ich nutze die Version 4.2.3. Für eine Hilfe bin ich dankbar, JKJ

---

<div class="post-metadata">

**Author:** ![mbdesign](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/mbdesign/32/14160_2.png) [@mbdesign](https://forum.shopware.com/u/mbdesign)\
**Post date:** [20. August 2016 um 10:26 UTC](https://forum.shopware.com/t/login-via-kundennummer-und-passwort/6078/6 "2016-08-20T10:26:30Z")

</div>

Hat zufällig jemand solch ein Plugin laufen und aknn es ir mal per PM senden.

Ich habe in unserem alten XTC Shop den Login via URL laufen und würde die Funktion gerne in dieses Plugin mit übernehen.
