Laravel est un framework Web PHP open source qui fournit aux développeurs de nombreuses fonctions pratiques et des API pratiques, raccourcissant considérablement le cycle de développement et réduisant les coûts de développement. Dans Laravel 5.3, la fonction de connexion est encapsulée dans un service indépendant, ce qui peut considérablement améliorer la sécurité et l'expérience utilisateur. Cet article présentera le processus de connexion de Laravel 5.3.
Dans Laravel 5.3, l'application nécessite un contrôleur d'authentification pour gérer la connexion et la déconnexion. Les contrôleurs peuvent être générés rapidement à l’aide des commandes Artisan. Générez le contrôleur d'authentification en entrant la commande suivante dans le terminal :
php artisan make:auth
Cette commande générera des fichiers de vue et de contrôleur qui peuvent être utilisés pour personnaliser la logique d'authentification.
Afin de mettre en œuvre la fonction d'authentification, un modèle utilisateur correspondant est requis. Peut être généré via la commande Artisan :
php artisan make:model User -m
Cette commande générera un fichier de modèle utilisateur et un fichier de migration de base de données. Il est recommandé de nommer la table de données utilisateur « utilisateurs ».
Par défaut, Laravel 5.3 s'attend à ce que la table de données utilisateur contienne deux champs "e-mail" et "mot de passe". Si vous souhaitez utiliser d'autres champs pour l'authentification, vous devez définir ces champs dans le modèle utilisateur. Ouvrez le fichier app/User.php et ajoutez le contenu suivant :
protected $fillable = [ 'name', 'email', 'password', ];
Laravel 5.3 dispose d'un algorithme de cryptage de hachage bcrypt intégré, qui peut hacher le mot de passe pour améliorer la sécurité. Lors de l'enregistrement d'un nouvel utilisateur, vous pouvez crypter le mot de passe en utilisant le code suivant :
protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); }
Laravel 5.3 fournit des styles pour les pages de connexion et d'enregistrement qui peuvent être utilisés immédiatement. Cependant, il peut être personnalisé selon les besoins. Dans le fichier resources/views/auth/login.blade.php, vous pouvez ajouter du code HTML et CSS personnalisé et le restituer à l'aide du moteur de modèle Blade de Laravel.
Pour la fonction de connexion, vous devez définir une route POST, qui contiendra le formulaire de connexion et la logique pour gérer la soumission du formulaire. Dans le fichier routes/web.php, ajoutez la route suivante :
Route::post('/login', 'Auth\LoginController@login');
Cette route pointera vers la méthode de connexion du contrôleur Auth et gérera la requête POST pour le formulaire de connexion.
Dans le contrôleur Auth, vous devez ajouter la méthode de connexion pour gérer la demande de connexion. Cette méthode vérifiera les informations d'identification fournies par l'utilisateur et, en cas de succès, redirigera l'utilisateur vers la page d'accueil de l'application. Voici l'exemple de code pour la méthode de connexion du contrôleur Auth :
public function login(Request $request) { $this->validate($request, [ 'email' => 'required|email|max:255', 'password' => 'required|min:6', ]); $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials, $request->has('remember'))) { return redirect()->intended('/home'); } return redirect()->back() ->withInput($request->only('email', 'remember')) ->withErrors([ 'email' => 'These credentials do not match our records.', ]); }
Dans cette méthode, la requête est d'abord authentifiée à l'aide de la classe de validation de Laravel. Une fois la vérification réussie, les champs e-mail et mot de passe seront obtenus à partir de la demande. Ces informations d'identification sont ensuite vérifiées à l'aide de la méthode de tentative dans la classe Auth fournie par Laravel. Si la vérification réussit, l'utilisateur est redirigé vers la page d'accueil de l'application en utilisant la méthode de redirection de Laravel. Si la validation échoue, l'utilisateur est redirigé vers la page de connexion avec un message d'erreur.
Dans Laravel, la fonction de déconnexion est très simple Il vous suffit d'appeler la méthode de déconnexion dans la classe Auth :
public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); return redirect('/login'); }
Cette méthode appellera la méthode Auth::logout pour séparer l'utilisateur actuel de. la demande et invalide la session. Ensuite, redirigez l'utilisateur vers la page de connexion de l'application.
Résumé
Dans Laravel 5.3, implémenter la fonction de connexion est très simple. Il vous suffit de créer un contrôleur d'authentification, de définir le modèle utilisateur, d'écrire la vue de connexion, de définir l'itinéraire de connexion et de traiter la demande de connexion. Grâce aux fonctions puissantes et à l'API pratique de Laravel, vous pouvez facilement mettre en œuvre un système de connexion sûr et efficace.
Ce 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!