Maison > cadre php > Laravel > Comment implémenter la fonction de connexion dans laravel5.3 (partage de processus)

Comment implémenter la fonction de connexion dans laravel5.3 (partage de processus)

PHPz
Libérer: 2023-04-03 19:55:31
original
532 Les gens l'ont consulté

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.

  1. Créer un contrôleur d'authentification

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
Copier après la connexion

Cette commande générera des fichiers de vue et de contrôleur qui peuvent être utilisés pour personnaliser la logique d'authentification.

  1. Définir le modèle utilisateur

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
Copier après la connexion

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 ».

  1. Mettre à jour le modèle utilisateur

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',
];
Copier après la connexion
  1. Encrypt 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']),
   ]);
}
Copier après la connexion
  1. Ecriture de la vue de connexion

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.

  1. Définir la route de connexion

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');
Copier après la connexion

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.

  1. Gestion des demandes 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.',
      ]);
}
Copier après la connexion

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.

  1. Fonction de déconnexion

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');
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal