Laravel 4 Auth :: versuchen Sie entweder mit E-Mail oder Benutzername und Passwort

7

In Laravel für den Login-Versuch verwende ich im Allgemeinen etwas wie folgt:

%Vor%

Grundsätzlich überprüft $usernameinput mit email in meiner Tabelle.

Ich habe mir gedacht, es anders zu machen, so wie email , username und password in meiner Tabelle. $usernameinput kann entweder email oder username in meiner Tabelle sein.

Wie kann ich Auth::attempt mit einer Bedingung wie:

%Vor%     
Chinmoy 11.02.2014, 06:46
quelle

4 Antworten

28

Nun könnten Sie einfach überprüfen, ob $usernameinput mit einem E-Mail-Muster übereinstimmt, und wenn dies der Fall ist, verwenden Sie das Feld email , andernfalls verwenden Sie das Feld username . Das hört sich vernünftig an, denn Sie sollten wirklich keine E-Mail in Ihrer Datenbank haben, die nicht mit dem Muster übereinstimmt. Etwas wie das:

%Vor%

Die andere Option besteht darin, Illuminate\Auth\Guard um die gewünschte Funktionalität zu erweitern und sie als auth -Komponente in einem neuen Dienstanbieter festzulegen.

    
rmobis 11.02.2014, 08:15
quelle
2

Es kann so etwas gemacht werden

%Vor%     
ssi-anik 25.09.2014 06:53
quelle
1

Benutzer könnten ein E-Mail-Feld als Benutzernamen verwenden und es könnte nicht mit der E-Mail übereinstimmen, die sie für das E-Mail-Feld verwendet haben. Sicherer Versuch, Authentifizierung zweimal zu versuchen:

%Vor%     
patsplat 05.02.2015 20:28
quelle
0

Hier ist die komplette Arbeitslösung: (Getestet mit Laravel 5.3)

Fügen Sie einfach diese Methode (oder wir können sie überschreiben) in app \ Http \ Controllers \ Auth \ LoginController.php

ein %Vor%     
Parth Vora 11.11.2016 04:53
quelle

Tags und Links