Dans Laravel, comment implémenter l'authentification du pilote de base de données et du fournisseur sans utiliser la méthode élégante
P粉043566314
2023-08-28 09:14:37
<p>Les pilotes pris en charge par Laravel sont "<strong>database</strong>" ou "<strong>eloquent</strong>» pour autoriser le site Web.
Dans le fichier <strong>config/auth.php</strong> par défaut, nous pouvons voir qu'il indique toujours que le pilote est éloquent. </p>
<pre class="brush:php;toolbar:false;">```
/*
|------------------------------------------------- -----------------------
Fournisseurs d'utilisateurs |
|------------------------------------------------- -----------------------
|
| Tous les pilotes d'authentification ont un fournisseur d'utilisateurs. Cela définit la manière dont les données de l'utilisateur sont réellement récupérées de la base de données ou d'un autre mécanisme de stockage.
|
| Si vous disposez de plusieurs tables ou modèles utilisateur, vous pouvez configurer plusieurs sources représentant chaque modèle/table. Ces sources peuvent ensuite être affectées à toute protection d'authentification supplémentaire que vous définissez.
|
| Pris en charge : "base de données", "éloquent"
|
*/
'fournisseurs' =>
'utilisateurs' =>
'driver' => 'éloquent',
'modèle' => AppModelsUsers::class,
],
// 'utilisateurs' =>
// 'pilote' => 'base de données',
// 'table' => 'utilisateurs',
// ],
],
```</pré>
<p>Nous avons ensuite un schéma <strong>User</strong> associé à la table User pour vérifier l'authentification.
Par conséquent, nous pouvons utiliser certaines des méthodes <strong>auth</strong> : <strong>auth::check(), auth::atemp(), auth:login(),...</strong> ;
Si je n'utilise pas Model AppModelsUsers::class, mais que j'utilise <strong>'driver' => 'database'</strong>, comment puis-je utiliser certaines fonctions <strong>auth</strong> autorisation Drap de laine ? </p>
Changez simplement le pilote en base de données, vous pouvez facilement commenter la partie éloquente et décommenter la partie base de données du pilote et vous pouvez utiliser auth() normalement comme avant. La fonctionnalité d'authentification de Laravel est plug and play.
Vous pouvez concevoir votre méthode de connexion dans AuthController comme ceci :
Cela fonctionnera à la fois dans les pilotes éloquents et de base de données.