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
P粉043566314 2023-08-28 09:14:37
0
1
330

Les pilotes pris en charge par Laravel sont "database" ou "eloquent» pour autoriser le site Web. Dans le fichier config/auth.php par défaut, nous pouvons voir qu'il indique toujours que le pilote est éloquent.

``` /* |------------------------------------------------- ----------------------- 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', // ], ], ``` 

Nous avons ensuite un schéma User associé à la table User pour vérifier l'authentification. Par conséquent, nous pouvons utiliser certaines des méthodes auth : auth::check(), auth::atemp(), auth:login(),... ; Si je n'utilise pas Model AppModelsUsers::class, mais que j'utilise 'driver' => 'database', comment puis-je utiliser certaines fonctions auth autorisation Drap de laine ?

P粉043566314
P粉043566314

répondre à tous (1)
P粉781235689

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.

'users' => [ 'driver' => 'database', 'table' => 'users', //或者您用于用户的任何表。 ]

Vous pouvez concevoir votre méthode de connexion dans AuthController comme ceci :

public function signIn(Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required' ]); $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { return redirect('/'); } return redirect('login')->withErrors('登录详细信息无效'); }

Cela fonctionnera à la fois dans les pilotes éloquents et de base de données.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!