Cet article présente principalement comment résoudre le problème de la mise en œuvre de l'authentification utilisateur multi-champs dans Laravel. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer. a récemment rencontré quelqu'un au travail. Le problème nécessitait une vérification multi-champs, qui a finalement été résolue en recherchant des informations pertinentes. L'article suivant vous présente principalement la solution sur la façon dont Laravel implémente l'authentification multi-champs des utilisateurs. via un exemple de code. Amis qui en ont besoin Vous pouvez l'utiliser comme référence, jetons un coup d'œil ci-dessous.
Avant-proposCet article présente principalement le contenu pertinent sur l'authentification multi-champs des utilisateurs Laravel et le partage pour votre référence et votre étude. Mots suivants Pas grand chose à dire, jetons un œil à l'introduction détaillée.
Solution :
Les champs de connexion ne sont pas supérieurs à deux
J'ai vu une solution relativement simple en ligne, mais elle ne résout pas la validation des deux champs :
1 |
|
Filtrez le contenu du formulaire dans la demande pour distinguer le nom d'utilisateur. Les inconvénients sont évidents. Si l'autre n'est pas l'e-mail, vous serez aveuglé... Voici une autre solution générale :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Comme vous pouvez le constater, même si cela peut résoudre le problème, cela va évidemment à l'encontre du style élégant de Laravel. Après tant de difficultés, je vais partager ma solution. avec toi.
Champs de connexion supérieurs ou égaux à trois (relativement compliqués)
Vous devez d'abord implémenter vous-même une implémentation d'IlluminateContractsAuthUserProvider. Pour plus de détails, veuillez vous référer à Ajout d'un fournisseur d'utilisateurs personnalisé, mais j'aime être paresseux, hérite directement d'EloquentUserProvider et remplace la méthode retrieveByCredentials :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Remarque : va simplement changer en et c'est tout ! $query->where($key, $value);
$query->orWhere($key, $value);
Ensuite, vous devez enregistrer un UserProvider personnalisé :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Enfin, nous modifions la configuration de auth.php et c'est fait. Maintenant :
1 2 3 4 5 6 7 8 9 10 11 |
|
Modifiez le fournisseur du tableau Web vers la coutume précédemment enregistrée
1 2 3 4 5 6 7 8 9 10 11 |
|
Maintenant, même si vous avez plusieurs champs, tout va bien...
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
À propos de la méthode d'implémentation de la connexion multi-champs dans Laravel5.4Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!